JButton.actionPerformed: excepción de puntero nulo

Estoy trabajando en un libro y el siguiente código lanza una NPE en tiempo de ejecución cuando se hace clic en el botón JB, en la línea button.actionPerformed. He hecho todo lo posible para asegurarme de que mi código es exactamente lo que está en el libro. ¿Alguien puede señalar mi problema? (El libro fue escrito para Java 5, estoy usando el último Java 7, esto no debería hacer una diferencia en el siguiente código por lo que sé, sin embargo)

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!");
}

}

Respuestas a la pregunta(5)

Su respuesta a la pregunta