【问题标题】:Java JFormattedTextField for typing dates用于输入日期的 Java JFormattedTextField
【发布时间】:2010-09-09 22:18:04
【问题描述】:

我在制作 JFormattedTextField 以使用 dd/MM/yyyy 格式的日期时遇到了麻烦。具体来说,当用户键入时,光标应该“跳过”斜线,并直接到达下一个数字位置。

此外,JFormattedTextField 必须验证输入的日期是否有效,如果日期无效则以某种方式拒绝它,或者将其“更正”为有效日期,例如如果用户输入“13”作为月份,则设置它为“01”并将 +1 添加到年份。

我尝试在 JFormattedTextField 的 validate() 方法中使用掩码(“##/##/####”)来检查日期是否有效,但似乎这两者不能很好地协同工作(或者我对 Java 太陌生了,不知道如何...... :),然后用户可以在该字段上键入任何内容。

非常感谢任何帮助!谢谢!

【问题讨论】:

    标签: java validation date mask


    【解决方案1】:

    尝试使用 JCalendar

    【讨论】:

      【解决方案2】:

      您可能必须使用常规 JTextField 并使用自定义文档调用 setDocument()。我建议扩展 PlainDocument,这样可以在文档更改时轻松验证输入,并根据需要添加斜杠。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-24
        • 1970-01-01
        • 2022-01-23
        相关资源
        最近更新 更多