代码给出了空指针异常的错误.....怎么办?
import java.awt.event.*;
import javax.swing.*;
public class Gui implements ActionListener{
JButton button;
public Gui(){
JFrame frame=new JFrame();
JButton button =new JButton("click me!");
button.addActionListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(button);
frame.setSize(270,300);
frame.setVisible(true);
}
public static void main(String[] args){
new Gui();
}
public void actionPerformed(ActionEvent e){
button.setText("I've been clicked");
}
}
答案 0 :(得分:12)
JButton button =new JButton
这会创建一个本地变量
button
字段仍为null
。
答案 1 :(得分:5)
您在actionPerformed方法中引用的字段button
永远不会被初始化,因此为空。
您在主方法中添加了此按钮JButton button =new JButton("click me!");
,但您的actionPerformed从未意识到这一点。
将行更改为
this.button =new JButton("click me!");
答案 2 :(得分:4)
您的问题是该按钮仅在构造函数中可见。