Java 如何只在第二位数字之后检查月份的正确性?

Java 如何只在第二位数字之后检查月份的正确性?,java,swing,date-format,simpledateformat,jformattedtextfield,Java,Swing,Date Format,Simpledateformat,Jformattedtextfield,我需要JFormattedTextField,它将格式化日期(“dd.MM.yy”)。代码: 问题是:例如,如果日期是“11/06/12”,并且如果我尝试在月份上输入12,我就不能这样做,因为当我键入1时,它将月份理解为16,并且不给我输入下一个数字。 我需要的是,当我键入例如12 on month position时,JFormattedTextField将仅在我键入第二个数字后检查月份的正确性,如果不正确,则月份将返回到以前的值。我如何解决这个问题? 也许更好的方法是与 你可以为我做些什么

我需要JFormattedTextField,它将格式化日期(“dd.MM.yy”)。代码:

问题是:例如,如果日期是“11/06/12”,并且如果我尝试在月份上输入12,我就不能这样做,因为当我键入1时,它将月份理解为16,并且不给我输入下一个数字。 我需要的是,当我键入例如12 on month position时,JFormattedTextField将仅在我键入第二个数字后检查月份的正确性,如果不正确,则月份将返回到以前的值。我如何解决这个问题?

  • 也许更好的方法是与

  • 你可以为我做些什么


如果这些更可靠;也考虑一下。
SimpleDateFormat format= new SimpleDateFormat("dd.MM.yy");
DateFormatter formatter = new DateFormatter(format);
format.setLenient(false);
formatter.setAllowsInvalid(false);
formatter.setOverwriteMode(true);
JForemattedTextField inputText = new JFormattedTextField(formatter);
inputText.setValue(new Date());