用户输入数字时在JTextField中显示日期(Java)

时间:2017-02-10 14:10:37

标签: java swing date

我是编程的先行者,我有简单的程序,它使用计算公式中的日期来计算某些东西。

所以,我有两个领域:

JTextField startDate - 输入第一个日期,JTextField endDate - 输入第二个日期。

当用户输入该字段的任何值时,我使用getText(),然后使用SimpleDateFormat DATE = new SimpleDateFormat("ddMMyyyy")将这些值转换为DATE.parse("value from getText()")。之后,无论我们想要什么,我们都可以使用新的Date值。

问题是什么以及我想做什么。日期输入如下:

enter image description here

但是 视觉上对我不利。我想做某种"自动日期输入"。例如:用户输入" 09052017",但在JTextField我们看到" 09.05.2017",或者用户只需输入" 09",但是我们看到的领域" 09。",然后" 0905",但在现场我们有" 09.05。"。因此,用户输入09052017,但在字段中我们看到:

enter image description here

如何实现?

2 个答案:

答案 0 :(得分:2)

使用JCalendar。它就像一个小日历,将在你的gui中打开,用户可以选择所需的日期。

要使用JCalendar,您需要在项目中导入上面提供的链接中提供的.jar文件。

JCalendar看起来像

enter image description here

此外,您可以将日期格式更改为您想要的任何内容。

答案 1 :(得分:0)

您可以使用SimpleDateFormat格式化日期。您有日期参数的通配符,然后您可以添加分隔字符,如斜杠或点。

String pattern = "MM.dd.yyyy";
SimpleDateFormat sdf = new SimpleDateFormat (pattern);
String t = sdf.format (new Date());