在java gui输入上设置掩码百分比

时间:2016-04-15 09:09:52

标签: java user-interface format mask

我在java gui中有一个JTextField 我希望价值总是如下: nums.nums%

实际上我想要总是把它添加到我的双数字百分号。

我试过这样:

MaskFormatter mf1 = new MaskFormatter("###.##");
mf1.setPlaceholderCharacter('%');
JFormattedTextField field = new JFormattedTextField(mf1);

但它看起来像这样:%%%。%% 而且我要 如果我写55写55%

我也尝试使用

MaskFormatter mf1 = new MaskFormatter("###.##%");
JFormattedTextField field = new JFormattedTextField(mf1);

它很好,但它阻止我输入很多这样的数字的问题:

45345345345.44%

它只给我三个这样的数字: 123.12% 我想要 有时1.44%, 22.55%, 223.55%, 45345.12% ....

很多......

1 个答案:

答案 0 :(得分:1)

这应该有效:

textfield.addFocusListener( e -> {
  @Override
  public void focusLost( final FocusEvent e )
  {
    JTextField textfield = (JTextField) e.getSource();
    textfield.setText(textfield.getText() + "" + "%");
  }
});

或者至少我是怎么做的。 Haven没试过。