基本GUI加法计算器中的问题



好的,所以我正在编写自己版本的基于GUI的加法计算器。我犯了一个错误。但当我运行它时,它在我在代码中标记的那一行给出了一个空指针异常,我知道空指针意味着某个字符串或整数没有值,但这里的这个确实有值,如果有人知道为什么,请提前告诉我,谢谢!

`public class Main implements ActionListener {
private static JFrame frame;
private static JPanel panel;
private static JLabel label;
private static JButton button;
private static JTextField fnumField;
private static JTextField snumField;
private static JLabel answer;
private static  JLabel fnum;
private static JLabel snum;
private static String c;
public static void main(String[] args) {


frame = new JFrame();
panel = new JPanel();
frame.setSize(350, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel);

panel.setLayout(null);

JLabel fnum  = new JLabel("1st number:");
fnum.setBounds(10, 20, 80, 25);
panel.add(fnum);

JTextField fnumField = new JTextField();
fnumField.setBounds(100, 20, 165, 25);
panel.add(fnumField);

JLabel snum = new JLabel("2nd number:");
snum.setBounds(10, 50, 80, 25);
panel.add(snum);

JTextField snumField = new JTextField();
snumField.setBounds(100, 50, 165, 25);
panel.add(snumField);

button = new JButton("ADD");
button.setBounds(10, 80, 80, 25);
button.addActionListener(new Main ());
panel.add(button);

JLabel answer = new JLabel("");
answer.setBounds(10, 100, 300, 25);
panel.add(answer);          


answer.setText(c);
frame.setVisible(true);
}


public void actionPerformed(ActionEvent e) {
String a = fnumField.getText();             <---------- NULL POINTER 
String b = snumField.getText();

String c = (a+b);

}   
}

`

JLabel fnum  = new JLabel("1st number:");
JTextField fnumField = new JTextField();
JLabel snum = new JLabel("2nd number:");
JTextField snumField = new JTextField();
JLabel answer = new JLabel("");

在所有这些操作中,移除类型,否则您声明一个局部变量,写入它,并且字段未设置。更改为:

fnum  = new JLabel("1st number:");
fnumField = new JTextField();
snum = new JLabel("2nd number:");
snumField = new JTextField();
answer = new JLabel("");

最新更新