Java - MaskFormatter

标签 java swing jformattedtextfield

有人可以帮我吗...我已经尝试了各种方法(包括此处的帮助),但这不起作用。 我使用 JFormattedTextField 和 MaskFormatter 将数据输入限制为 4(最大)位数。

    static JFormattedTextField textPayout;

    MaskFormatter f;
try {
    f = new MaskFormatter("####");
} catch (ParseException e) {
    e.printStackTrace();
    return; // actual code not written yet.
}
textPayout = new JFormattedTextField(f);

问题在于它不限制字符或长度(此外,如果输入非数字,文本会开始重叠)。我尝试过各种各样的类似面具的操作。有人可以告诉我我做错了什么吗?

谢谢

最佳答案

我刚刚尝试了这段代码,它工作得很好,但有一个小问题:

class A extends JFrame {
    public static void main(String args[]) throws ParseException {
        A a = new A();
        a.setLayout(new GridLayout());
        JFormattedTextField textField =
                new JFormattedTextField(new MaskFormatter("####"));
        a.add(textField);
        a.add(new JButton("qwe"));
        a.setSize(300,50);
        a.setVisible(true);
    }
}

问题是最初的文本字段充满了 4 个空格,所以我不得不删除它们。可能这就是 Gentoo 编译 IcedTea 7.2 的怪异之处。

否则一切工作正常,你可以尝试我的代码吗?如果它不起作用,那么你的 Java 版本是什么?

关于Java - MaskFormatter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9344321/

相关文章:

java - 我们如何在 JUnit 中模拟 session 值 (request.getSession())?

Java创建画笔描边 Action

java - JButton 错误无法应用于给定类型

java - 如何自定义格式化程序 JFormattedTextField 以显示 IP 地址?

java - JFormattedTextField 具有初始值,可以逐个符号覆盖

java - JPedal - 在 PDF 中的某个点突出显示单词

java - 将笔记本电脑配置为Mysql服务器

java - 使用 Java 访问数据集的最快方法是什么?

java - 简单的Java GUI程序

java - 不知道如何修复 JFormattedTextField 上的 PropertyChangeListener