我想寫一個簡單的計算器程序,只是增加兩個數字,並在JLabel
中顯示它。我設法設計一個工作窗口,按鈕等,但如果我點擊按鈕異常線程"AWT-EventQueue-0" java.lang.NullPointerException
- 錯誤發生,我不知道如何解決它。Java:線程「AWT-EventQueue-0」中的異常java.lang.NullPointerException?
下面是代碼:
import java.awt.EventQueue;
public class Rechnerwin {
private JFrame frame;
private JTextField textFielda;
private JTextField textFieldb;
private JLabel label;
int A;
int B;
int C;
String a;
String b;
String c;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Rechnerwin window = new Rechnerwin();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Rechnerwin() {
initialize();
}
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
textFielda = new JTextField();
textFielda.setBounds(44, 41, 86, 20);
frame.getContentPane().add(textFielda);
textFielda.setColumns(10);
textFieldb = new JTextField();
textFieldb.setBounds(307, 41, 86, 20);
frame.getContentPane().add(textFieldb);
textFieldb.setColumns(10);
JButton btnAdd = new JButton("Add");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String a = textFielda.getText();
String b = textFieldb.getText();
int A = Integer.parseInt(a);
int B = Integer.parseInt(b);
int C = A + B;
String c = Integer.toString(C);
label.setText(c);
}
});
btnAdd.setBounds(169, 85, 89, 23);
frame.getContentPane().add(btnAdd);
JLabel label = new JLabel("a");
label.setBounds(146, 184, 131, 20);
frame.getContentPane().add(label);
}
}
,你知道是一直以:
你可能會受到此更改解決這個問題?你爲什麼還要問這個問題?剛纔閱讀以前的答案 – Li357
http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it – Michael
正如我在我的文字中提到的,我尋找的解決方案,但沒有找到任何東西,這可以幫助我。 – DerMaksi