Ensemble JLabel Visible lorsque JButton est cliqué dans actionPerformed

Je suis en train d'essayer d'obtenir un JLabel apparaissent lorsqu'un JButton est cliqué. J'ai ajouté une action de l'auditeur et de l'ajout de la composante de la mise en page. Je suis l'aide de la label1.setVisible(true) lorsque le JButton est cliqué dans actionPerformed. J'ai toujours pas de travail. Certains peuvent regarder mon code?

public class LearnAppMain extends JFrame implements ActionListener {

//Define variables
public JButton button1;
public JLabel label1;
    public JTextField field1;

    private Image image1;
private String apple = "apple.jpg";

public LearnAppMain() {

    ImageIcon image1 = new ImageIcon(this.getClass().getResource(apple));
    JLabel label1 = new JLabel(image1);

    button1 = new JButton("A");
    button1.addActionListener(this);

    field1 = new JTextField(10);

    //Create layout
    setLayout(new FlowLayout());

    //create Container
    final Container cn = getContentPane();

    cn.add(button1);
    cn.add(field1);
    cn.add(label1);

    //setLayout(new FlowLayout());
    setSize(250, 250);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
}

@Override
public void actionPerformed(ActionEvent e) {

    Object source = e.getSource();

    if (e.getSource() == button1) {
        label1.setVisible(true);
        field1.setText("Apple");
    }

}

 }

J'ai ma méthode principale dans un autre fichier de classe. L'erreur que je reçois me mène à la label1.setVisible(true);

Toutes les questions que j'ai vu, disent-ils à faire cela, mais je me demandais si il y a autre chose qui doit être ajouté.

OriginalL'auteur Keith Kaplan | 2012-02-21