我是一個新的Java程序員,我一直在嘗試設置一個簡單的Swing程序,允許用戶將兩個整數輸入到JTextFields中,並且當單擊「添加」JButton時,兩個數字是相加在一起,並且總和以JLabel輸出。Java Swing簡單程序
但是,我可以處理,但我遇到困難的地方是能夠設置兩個JTextFields將無效數字視爲零。例如,如果輸入了字符「x」或「xxx」,則這將導致該JTextField的值爲0以用於添加目的。到目前爲止,我已經使用try/catch和if/else語句,但沒有取得任何成功。過去兩天,我還在互聯網上搜尋了幾個小時,尋找解決這個問題的方法,但沒有任何結果。
任何幫助將不勝感激!我迄今在下列代碼...
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Adder extends JPanel implements ActionListener {
JButton addBut = new JButton("Add");
JTextField field1 = new JTextField("Number 1"),
field2 = new JTextField("Number 2");
JLabel numSum = new JLabel("=");
Adder() {
this.setPreferredSize(new Dimension(299, 43));
addBut.addActionListener(this);
setLayout(new FlowLayout());
add(field1);
add(field2);
add(numSum);
add(addBut);
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource().equals(addBut)){
try {
double one = Double.parseDouble(field1.getText());
double two = Double.parseDouble(field2.getText());
numSum.setText("" + (one + two));
}
catch(Exception ex) {
}
}
else {
field1.setText(" ");
field2.setText(" ");
numSum.setText("");
}
}
public static void main(String[] args){
JFrame jf=new JFrame();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Adder x = new Adder();
jf.add(x);
jf.pack();
jf.setVisible(true);
}
}
非常感謝!這有很多幫助! – astroDude1 2011-02-24 01:32:01