如何使用jSpinner作为时间选择器来限制数字输入?
当我使用此代码时:
JSpinner.DateEditor editor = new JSpinner.DateEditor(spinner, "HH:mm");
DateFormatter formatter = (DateFormatter)editor.getTextField().getFormatter();
formatter.setAllowsInvalid(false); // this makes what you want
formatter.setOverwriteMode(true);
我从这里拿到了这个例子:Similar problem using jSpinner as time picker on StackOverflow
因此,当我在1111开始输入时,它会正常工作,直到我输入更多数字,然后它开始计算并给我“奇怪”输出,如:
12:51
当我在1111之后进入另一个1。
当我设置12h
时间格式时,例如:
JSpinner.DateEditor editor = new JSpinner.DateEditor(spinner, "HH:mm a");
然后它工作正常,在第四位之后停止并且不允许任何其他输入。如何以24小时格式获得此行为?