如何设置jFormattedTextField所以它只允许2个数字?

Bug*_*ter 5 java swing jformattedtextfield

我是Java和NetBeans的初学者.我正在尝试制作一个简单的程序,你引入2个数字,它们的总和除以2.但是,我正在使用JFormattedTExtFields,我不知道如何自定义其中允许的输入.基本上我正试图找出如何:

  • 只允许输入数字JFormmatedTextField;
  • 只允许一定数量的数字;

Hei*_*bug 9

您可以使用NumberFormat并使用setMaximumIntegerDigits指定最大整数位数.

这是一篇很好的文章.

基本上你可以这样做:

NumberFormat f = NumberFormat.getNumberInstance(); 
f.setMaximumIntegerDigits(maxDigitsAmount);
JFormattedTextField field = new JFormattedTextField(f);
Run Code Online (Sandbox Code Playgroud)

格式应保证所插入的字符串满足格式.无论如何,即使提供了数字,文本字段也会将其存储为字符串.因此,如果您需要原始的Integer,则需要像建议的@noise一样重建它:

Integer i = Integer.toString(field.getText());
Run Code Online (Sandbox Code Playgroud)