【问题标题】:How to get JTextField to return blank after DocumentListener changes in JavaJava中DocumentListener更改后如何让JTextField返回空白
【发布时间】:2014-04-24 17:52:50
【问题描述】:

我有一个DocumentListener,它允许JTextField 代表总共7 个其他JTextFields。它添加并显示一切正常,只有一个例外;如果构成总计的字段被填充然后被删除,当我希望它为空白时,总计字段仍显示“0.00”。我尝试在不同的条件下玩耍,但运气不佳,所以下面是我知道的代码,除了我在这里的原因:

public class OvertimeSumListener implements DocumentListener {
private JTextField[] timeFields;
private JTextField total;

public OvertimeSumListener(JTextField[] timeFields, JTextField total) {
    this.timeFields = timeFields;
    this.total = total;
}

public void calculateTotal() {
    double sum = 0;
    for (JTextField timeField : timeFields) {
        String text = timeField.getText();
        try {
            sum += Double.parseDouble(text);
        } catch (NumberFormatException e) {
            // not a number - ignore
        }
    }
    total.setText(String.format("%.2f", sum));
}

public void insertUpdate(DocumentEvent e) {
    calculateTotal();
}

public void removeUpdate(DocumentEvent e) {
    calculateTotal();
}

public void changedUpdate(DocumentEvent e) {
    calculateTotal();
}

}

【问题讨论】:

    标签: java swing jtextfield documentlistener


    【解决方案1】:

    这不可行吗:

    if (sum > 0.0) {
        total.setText(String.format("%.2f", sum));
    else {
        total.setText("");
    }
    

    【讨论】:

    • 它确实有效,谢谢。我想我是想通过在这个问题中使用更多的获取和解析来让自己变得更加困难:stackoverflow.com/questions/14174776/… ..not sure how to link it sorry people
    【解决方案2】:

    在您的方法中,尝试使用以下方法:

    for (JTextField timeField : timeFields) {
            String text = timeField.getText();
            try {
                sum += Double.parseDouble(text);
            } catch (NumberFormatException e) {
                // not a number - ignore
            }
    }
    if(sum>0.0) total.setText(String.format("%.2f", sum));
    else total.setText("");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 2012-10-25
      • 2018-12-23
      • 2013-01-21
      • 1970-01-01
      • 2013-03-10
      • 2016-10-13
      相关资源
      最近更新 更多