问题描述
我有以下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);
http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html
这篇关于格式化JTextField最多接受三位数字,但是最多可以输入1-3位数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!