我在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% ....

tnx很多...

最佳答案

那应该工作:

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


或至少这就是我要做的。还没有尝试过。

10-07 12:11