我有三個JTextfields稱爲vol1HH1,vol1HH2,vol1HH3和fvol。其結果在actionPerformed事件之後輸出。空的JTextField和添加號碼
用戶可能只是輸入一個數字到vol1HH1和vol1HH2但不是vol1HH3,我將如何確保這兩個數字被添加並且結果顯示到fvol而不會導致空的JTextField vol1HH3出現數字處理錯誤?
public void actionPerformed(ActionEvent e) {
double number1 = Double.parseDouble(vol1HH1.getText());
double number2 = Double.parseDouble(vol1HH2.getText());
double number3 = Double.parseDouble(vol1HH3.getText());
fvol.setText(Double.toString(number1 + number2 + number3));
}
我試過這個,但這似乎並不奏效,我做錯了什麼?
double sum = 0;
if (!vol1HH1.getText().trim().isEmpty()||!vol1HH2.getText().trim().isEmpty()){
// only now parse the text and add it
sum += Double.parseDouble(vol1HH1.getText());
sum += Double.parseDouble(vol1HH2.getText());
}
fvol.setText(Double.toString(sum));
請澄清,'「但這似乎不起作用」。 –
也通過您的程序邏輯在紙上。邏輯問題如'||'和NOT運算符在沒有我們幫助的情況下應由您解決。我相信你可以解決這個問題。 –
考慮使用可以執行自己的驗證的'JSpinner'或'JFormattedField'。請參閱[如何使用Spinners](http://docs.oracle.com/javase/tutorial/uiswing/components/spinner.html)和[如何使用帶格式的文本字段](http://docs.oracle.com/ javase/tutorial/uiswing/components/formattedtextfield.html)更多詳情 – MadProgrammer