Jtextfield每3位数自动添加逗号

时间:2018-04-26 21:18:48

标签: java jtextfield

问候,我正在尝试创建一个曾经键入数字的jtextfield,它会自动添加逗号每3个数字,如此用户类型3000000& jtextfield显示:3.000.000

这是我尝试过的但没有效果。

JFormattedTextField nameOfTextField = new JFormattedTextField(NumberFormat.getNumberInstance(Locale.ENGLISH));
                textField_10 = new JFormattedTextField(nameOfTextField);
                textField_10.addKeyListener(new KeyAdapter() {
                    @Override
                    public void keyTyped(KeyEvent evt) {
                        char c = evt.getKeyChar();
                        if(Character.isLetter(c) && !evt.isAltDown()){
                            evt.consume();

                        }
                    }
                });

                textField_10.setColumns(10);
                textField_10.setBounds(289, 133, 83, 20);
                panel_6.add(textField_10);

1 个答案:

答案 0 :(得分:0)

JFormattedTextField已经这样做了。你不需要做任何特别的事情。你甚至不需要KeyListener。这就足够了:

JFormattedTextField nameOfTextField = new JFormattedTextField(NumberFormat.getNumberInstance(Locale.ENGLISH));
//textField_10 = new JFormattedTextField(nameOfTextField);      // This will not compile.  There is no such constructor.
textField_10 = nameOfTextField;

textField_10.setColumns(10);