设置可以输入到 JFormattedTextField 中的最大值

Setting the maximum value that can be entered into a JFormattedTextField

我有以下代码,该字段只允许一个数值:

try {
  MaskFormatter deckLevelEntry = new MaskFormatter("#");
  deckLevelEntry.setPlaceholderCharacter('_');

  deckLevelEntryField = new JFormattedTextField(deckLevelEntry);
  detailsPanel.add(deckLevelEntryField);
  wholeFramePanel.add(detailsPanel);
  frame3.add(wholeFramePanel);
  frame3.setVisible(true);
  } catch (Exception ex) {
  }

但是,有没有办法设置要输入的最大数值?我的意思是我希望 JFormattedTextField 接受以下值:1、2、3 和 4。不允许输入任何大于 4 的值。这同样适用于值 0。

使用这个:

NumberFormatter nf = new NumberFormatter();
nf.setMinimum(new Integer(30));
nf.setMaximum(new Integer(70));
final JFormattedTextField field = new JFormattedTextField(nf);