输入错误格式后,JFormattedTextField设置值和文本为null

时间:2014-04-09 03:42:48

标签: java swing date format jformattedtextfield

我正在使用带有JFormattedTextField的Java Application。我有一些问题:

  1. 如何设置JFormattedTextField,可以接受" /"和" - "

  2. 我想将jformattedtextfield值和文本设置为null或""输入错误的格式后。

  3. 示例:

    2.1.JFormattedTextField ftf .... with format(" yyyy-MM-dd")

    enter image description here

    2.2。输入格式:1990-5-6

    enter image description here

    2.3。离开ftf

    enter image description here

    2.4。然后关注ftf并输入错误的格式:5-6-1990

    enter image description here

    2.5。离开ftf然后它识别错误的格式但返回别的东西

    enter image description here

    但我想要的是我必须为空或空。

    enter image description here

    我该怎么做?

    任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:0)

这是我在这个论坛上的第一个答案,我希望我不要搞砸。对于第一个问题,您可以使用MaskFormatter。这也将确保永远不会输入错误的值。

new JFormattedTextField(createFormatter("####-##-##"));



private static MaskFormatter createFormatter(String s) {
    MaskFormatter formatter = null;
    try {
        formatter = new MaskFormatter(s);
        formatter.setPlaceholderCharacter('0');
    } catch (java.text.ParseException exc) {
        System.err.println("formatter is bad: " + exc.getMessage());
        System.exit(-1);
    }
    return formatter;
}