Pour que le bouton connaisse ses écouteurs, il faut les enregistrer.
Pour cela il faut utiliser la méthode addActionListener.
C'est nécessairement une classe extérieure à l'écouteur et au bouton qui les met en relation.
class DemoEcouteur {
DemoEcouteur() {
// Créé une fenêtre
JFrame fenetre = new JFrame("Demo ecouteur");
// Créé un bouton et l'ajoute à la fenêtre (BorderLayout par défaut)
JButton cB = new JButton("Cliquez-moi!");
fenetre.getContentPane().add(cB);
// Créé un écouteur qui ferme la fenêtre dans laquelle se trouve le bouton
CacheFrame ecouteur = new CacheFrame(fenetre);
// Enregistre l'écouteur auprès du bouton cB
cB.addActionListener(ecouteur);
// affiche la fenêtre
fenetre.setSize(200,200);
fenetre.setVisible(true);
}
}
Démo (source)
Démo (exécutable)