나는 JTextField
이 JTextFields
의 합계를 나타내는 것을 허용하는 DocumentListener
을 가지고 있습니다. 단 하나의 예외만으로 모든 것을 추가하고 표시합니다. 합계를 구성하는 필드가 채워지고 제거 된 경우 전체 필드는 공백으로 표시 되더라도 여전히 "0.00"을 표시합니다. 내가 너무 아래에 내가 내가 여기 왜를 제외하고 작동하는 코드입니다 서로 다른 조건과 장난 시도하지만, 많은 행운을 가지고 있지 않았다Java에서 DocumentListener가 변경된 후 JTextField를 빈칸으로 가져 오는 방법
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();
}
}
, 감사합니다. 나는이 질문과 같이 점점 더 파싱을 사용함으로써 스스로를 더 어렵게 만들려고 노력했다고 생각한다 : http://stackoverflow.com/questions/14174776/how-to-auto-calculate-input-numeric-values-of -text-field-in-java .. 링크하는 법을 모르겠다. 미안하다. –