【发布时间】:2018-06-18 03:26:22
【问题描述】:
只是一个简单的问题,但我设置了一个带有 JFormattedTextField 的小顾。我想要输入日期的文本框,并且我想要文本框显示“yyyy-mm-dd”。
当我使用以下代码时它不起作用:
<pre>dateFormatter = new MaskFormatter("####-##-##");
dateFormatter.setPlaceholderCharacter('_');
//dateFormatter.setPlaceholder("yyyy-mm-dd");
startDate = new JFormattedTextField (dateFormatter);
dateFormatter.getDisplayValue(startDate, "123");
//startDate.addActionListener(this);
startDate.addPropertyChangeListener("value", this
如何修改代码以使其正常工作?我已经尝试了几种不同的方法,如果我只想使用“_”作为 PlaceholderCharacter 而上述方法有效,但当我尝试将占位符设置为“yyyy-mm-yy”时则不行。
顺便说一下,我使用的是 java 1.6。
有人知道如何解决这个问题吗?
【问题讨论】:
-
听起来更像是你想要默认 API 提供的“占位符”支持(SwingX 有它),但我怀疑你会很幸运地让它与
JFormattedTextField一起工作,因为它显示一直都是“文字”。更好的解决方案可能是使用某种日期选择器 -
请注意,格式“yyyy-mm-dd”将显示年-分-日。当您想查看年月日时,可能需要“yy-MM-dd”。
-
I want the textbox to show "yyyy-mm-dd".- 我从来没有用 JFormattedTextField 尝试过,但也许 Text Prompt 类会做你想做的事。
标签: java swing jtextfield