我在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% ....
答案 0 :(得分:1)
这应该有效:
textfield.addFocusListener( e -> {
@Override
public void focusLost( final FocusEvent e )
{
JTextField textfield = (JTextField) e.getSource();
textfield.setText(textfield.getText() + "" + "%");
}
});
或者至少我是怎么做的。 Haven没试过。