我有以下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
格式设置为仅允许在文本字段中输入三位数。但是,我想要它,以便用户也可以输入一个数字。也就是说,用户可以输入1,15或100。但是使用上面的代码,文本字段仅允许输入三个数字,如果我在文本字段中输入单个数字,它将自动清除。
我如何CabinNoTextField
最多允许接受三位数字,但文本字段也将接受一位数字和两位数。
用一个 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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句