我有以下JFormattedTextField
I have the following JFormattedTextField
try { MaskFormatter CabinNoTextF = new MaskFormatter("###"); CabinNoTextF.setPlaceholderCharacter(' '); CabinNoTextField = new JFormattedTextField(CabinNoTextF); centerPanelCabin.add(CabinNoTextField); addCabinF.add(centerPanelCabin); addCabinF.setVisible(true); } catch (Exception ex) { }CabinNoTextField的格式设置为仅允许在文本字段中输入三个数字.但是,我想要它,以便用户也可以输入一个数字. IE.用户可以输入1,15或100.但是使用上面的代码,该文本字段仅允许输入三个数字,如果我在文本字段中输入一个数字,它将自动清除.
CabinNoTextField is formatted to only allow three digits to be inputted within the text field. However, I want it so that the user can also enter a single digit as well. I.e. the user may enter 1,15, or 100. But with the code above, the text field only allows three digits to be entered, if I enter a single digit within the text field, it automatically clears.
我如何允许CabinNoTextField最多接受三位数字,但文本字段也将接受一位数字和两位数.
How do I allow CabinNoTextField to accept three digits at most, but the text field will accept a single digit and double digits as well.
推荐答案使用NumberFormat
NumberFormat amountFormat = NumberFormat.getNumberInstance(); amountFormat.setMinimumIntegerDigits(1); amountFormat.setMaximumIntegerDigits(3); amountFormat.setMaximumFractionDigits(0); amountField = new JFormattedTextField(amountFormat);docs.oracle/javase/tutorial/uiswing/components/formattedtextfield.html
更多推荐
格式化JTextField最多接受三位数字,但是最多可以输入1
发布评论