【问题标题】:Setting the maximum value that can be entered into a JFormattedTextField设置可以输入到 JFormattedTextField 的最大值
【发布时间】:2015-03-31 03:11:06
【问题描述】:

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

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 的值。

【问题讨论】:

  • 考虑改用JSpinner
  • BTW - } catch (Exception ex) { } 至少转储堆栈跟踪。我希望每个声称他们的代码“运行无误”的人都能得到一美元,只是意识到它有完全被忽略的错误。
  • "1,2,3 和 4。任何高于 4 的都不允许输入。同样适用于 0 的值。" 但只有 4 个值在JListJComboBox 中可能会更好地表示。如果您需要跟踪用户实际上做出了选择,请添加第五句Select Dock

标签: java swing jtextfield jformattedtextfield


【解决方案1】:

使用这个:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 2021-04-21
    • 2011-01-15
    相关资源
    最近更新 更多