Bonjour,

J'ai un problème avec Java en utilisant Swing, même si ce n'est pas vraiment spécifique à ce dernier. Disons que j'ai 3 classes : Fenetre qui étend JFrame, Bouton qui étend JButton et Feuille qui étend JPanel. dans Fenetre je crée une instance de Bouton et de Feuille. Je veux modifier un attribut de Feuille au click sur un composant Bouton.

Le problème : Si c'est Bouton qui implémente l'ActionListener alors au déclenchement de l'évènement je n'aurai pas accès à l'objet Feuille. Si c'est Fenetre qui implémente l'ActionListener alors ça devient très vite du grand n'importe quoi vu que dans le cas réel j'ai beaucoup plus qu'un simple bouton et qu'il faut donc plein de "e.getSource()" pour pouvoir rediriger vers la bonne action. Normalement il devrait y avoir un design pattern pour résoudre ce problème, mais je ne le connais pas. Sinon, est-ce qu'il y a une méthode pour que l'objet Fenetre (et donc l'objet Feuille et l'objet Bouton) soit accessible partout dans l'application.

PS : En écrivant ce post, j'ai pensé à une classe statique avec un get() qui retourne toujours l'instance de Fenetre. Je ne sais pas ce que vous en pensez ?