Java JTextField集合占位符不工作

Java JTextField集合占位符不工作,java,swing,jtextfield,Java,Swing,Jtextfield,只是一个简单的问题,但我有一个小Gu设置,它有一个JFormattedTextField。我想要输入日期的文本框,我想要文本框显示“yyyy-mm-dd” 当我使用以下代码时,它不起作用: <pre>dateFormatter = new MaskFormatter("####-##-##"); dateFormatter.setPlaceholderCharacter('_'); //dateFormatter.setPlacehol

只是一个简单的问题,但我有一个小Gu设置,它有一个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
dateFormatter=newmaskformatter(“####-#-#-#”);
dateFormatter.SetPlaceholder字符(“”);
//dateFormatter.setPlaceholder(“yyyy-mm-dd”);
startDate=新的JFormattedTextField(日期格式化程序);
dateFormatter.getDisplayValue(startDate,“123”);
//startDate.addActionListener(此);
addPropertyChangeListener(“值”),此
如何修改代码以使其正常工作?我尝试了几种不同的方法,如果我只想使用“uu”作为占位符,而不是在我尝试将占位符设置为“yyy-mm-yy”时,上述方法可以工作

顺便说一句,我正在使用Java1.6


有人知道如何解决这个问题吗?

java中没有占位符,您可以使用鼠标适配器接口onclick set textfield.setText(“”)

:

听起来更像是您需要默认API(SwingX有)提供的“占位符”支持,但我怀疑您是否有足够的运气将其用于
JFormattedTextField
,因为它始终显示“文本”。更好的解决方案可能是使用某种日期选择器,而不是请注意,“yyy-mm-dd”格式将显示年-分-日。当您想查看年-月-日时,可能需要“yy-MM-dd”。
我希望文本框显示“yyy-MM-dd”。
-我从未尝试过使用JFormattedTextField,但可能该类将执行您想要的操作。
textArea.addMouseListener(new MouseAdapter() {
  public void mouseClicked(MouseEvent e) {
    if (e.getButton() == MouseEvent.BUTTON1)
 {
      textArea.setText("..");
    } 
    }