我正在阅读一本书,当单击 JButton 时,以下代码在运行时在 button.actionPerformed 行处引发 NPE。我已尽力确保我的代码与书中的内容完全相同,有人可以指出我的问题吗?(这本书是为 java 5 编写的,我使用的是最新的 java 7,据我所知,这对以下代码没有影响)
import javax.swing.*;
import java.awt.event.*;
public class SimpleGui implements ActionListener {
JButton button;
public static void main(String[] args) {
SimpleGui gui = new SimpleGui();
gui.go();
}
public void go() {
JFrame frame = new JFrame();
JButton button = new JButton("click here");
button.addActionListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(button);
frame.setSize(300,300);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent event) {
button.setText("I've been clicked, argh!");
}
}