JTextField的清算价值迷失方向

时间:2012-10-07 05:02:16

标签: java swing jtextfield string documentlistener

我正在尝试使用Eclipse中的WindowBuilder插件创建Java Windows应用程序。我有一个JTextField工作正常,输入所需的值。但是,当我清除该字段上的所有内容并尝试重新输入其他值时,这些值会迷失方向,即这些值根本不会出现,或者似乎出现在下一行中。

我正在使用DocumentListener,所以是的,这可能会导致空字符串异常。但是,我不确定为什么JTextField的内容在重新进入时不合适。

PFB我的代码:

void computeTotal(final JTextField jtf){
    jtf.getDocument().addDocumentListener(new DocumentListener(){
        public void changedUpdate(DocumentEvent e) {
            //warn();
            getTotal();
        }
        public void removeUpdate(DocumentEvent e) {
            //warn();
            getTotal();
        }
        public void insertUpdate(DocumentEvent e) {
            //warn();
            getTotal();
        }
        public void getTotal(){
            bt = Float.parseFloat(billTotal.getText());
            bd = Float.parseFloat(billDeduction.getText()) ;
            ta = Float.parseFloat(taxAmt.getText());
            tt = bt - bd+ ta;
             totalTotal.setText(tt+"");
        }

    });
    }

这里有什么问题?

1 个答案:

答案 0 :(得分:1)

  

这里有什么问题?

  • 使用由Number Formatter格式化的JFormattedTextField,然后是DocumentListener正确的侦听器

  • 不需要解析,没有好的输出问题,thoushand分隔符,不允许输入非数字字符

  • 使用带有Patern的DocumentFilter,在那里你可以删除非数字字符,然后你可以解析相当保存的竞争包含数字,小数分隔符和否定唱歌