2 回答
TA贡献1783条经验 获得超4个赞
在 Java 中,您不能使用未初始化的变量,否则您将收到 NPE。请参阅以下代码,并请阅读 Java 书籍 :)
public class Form1 {
private JPanel panel1;
private JButton button1;
public Form1() {
panel1 = new JPanel();
button1 = new JButton1("Press Me");
panel1.add(button1);
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button clicked");
}
});
}
public static void main(String args[]){
JFrame frame = new JFrame("Form 1");
frame.setContentPane(new Form1().panel1);
frame.pack();
frame.setVisible(true);
}
}
TA贡献1752条经验 获得超4个赞
因此,您将遇到两个导致该错误的问题。您创建一个对象(之后JButton,JPanel在这种情况下),你必须初始化它们。有很多不同的方法可以做到这一点,这取决于您要尝试做什么,但解决您的问题最简单的方法是在构造函数中添加以下几行:
panel1 = new JPanel();
button1 = new JButton();
之后您的代码应该可以正常运行。
添加回答
举报