1

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

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

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

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

4

2 回答 2

1

尝试使用 JCalendar

于 2008-09-17T03:31:39.100 回答
0

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

于 2008-09-17T13:14:45.470 回答