【发布时间】: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