关于验证:Java JFormattedTextField用于键入日期

关于验证:Java JFormattedTextField用于键入日期

Java JFormattedTextField for typing dates

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

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

我尝试通过JFormattedTextField的validate()方法使用掩码(" ## / ## / ####")来检查日期是否有效,但是看来这两个不能很好地协同工作(或 在Java上太绿色了,不知道怎么做... :),然后用户可以在字段中键入任何内容。

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


尝试使用JCalendar


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


推荐阅读

    linux命令所有用户?

    linux命令所有用户?,系统,密码,信息,情况,名称,命令,用户,时间,地址,位置,如

    linux命令进入用户?

    linux命令进入用户?,系统,密码,用户,地址,信息,软件,命令,用户名,联系方式,

    linux命令用户管理?

    linux命令用户管理?,系统,密码,管理,工作,信息,地址,工具,命令,用户,基础,LIn

    linux用户与组的命令?

    linux用户与组的命令?,管理,系统,名称,用户组,密码,用户,命令,情况,信息,单

    linux添加用户的命令?

    linux添加用户的命令?,密码,系统,软件,联系方式,用户,新增,信息,管理人员,

    linux中移动光标命令?

    linux中移动光标命令?,工作,标的,地址,时间,管理,命令,目录,文件,信息,系统,L

    linux看系统用户命令?

    linux看系统用户命令?,系统,信息,密码,命令,服务,名称,网络,情况,软件,工具,L

    linux赋权用户命令?

    linux赋权用户命令?,系统,密码,用户,权限,地址,状态,数字,软件,管理,电脑,Lin

    linux组加用户命令?

    linux组加用户命令?,系统,密码,联系方式,用户,软件,管理,命令,用户名,用户

    linux命令中添加用户?

    linux命令中添加用户?,系统,密码,软件,用户,命令,信息,目录,用户名,账号,文

    linux命令更改用户?

    linux命令更改用户?,系统,密码,管理,用户,命令,环境,工作,地址,电脑,文件,lin

    linux修改用户名命令?

    linux修改用户名命令?,系统,密码,查询系统,代码,数字,用户名,命令,第三,电

    linux命令给用户授权?

    linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,l

    linux命令创建用户组?

    linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管

    linux命令给用户授权?

    linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,l

    linux命令创建用户组?

    linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管

    查看linux用户命令行?

    查看linux用户命令行?,信息,系统,时间,名称,密码,用户,命令,地址,状态,设备,L

    linux所有用户命令行?

    linux所有用户命令行?,系统,信息,地址,工作,密码,命令,用户,时间,电脑,管理,L

    linux用户下的命令是?

    linux用户下的命令是?,系统,工作,管理,地址,命令,密码,基础,信息,目录,新增,L