[Java] Héritage ?
Résoluchoubaka Messages postés 5535 Date d'inscription Statut Modérateur Dernière intervention -
J'ai créé un logiciel en Java qui contient plusieurs raccourcis, j'aimerai bien avoir la possibilité de les changés de manière graphique.
J'ai donc créé une nouvelle fenêtre qui permettrait de changer ces raccourcis. Le problème c'est que je ne sais pas comment lui dire qu'elle hérite de la fenêtre principale (Sachant que les deux classes hérites deja de JFrame)
En gros si je lui dit :
bouton.setMnemonic(KeyEvent.VK_B);
Il me dit que la variable bouton n'est pas reconnus (Vu qu'elle est dans l'autre fenêtre)
1 réponse
Un programme Java avec plusieurs raccourcis inclut une fenêtre principale et une seconde fenêtre destinée à configurer ces raccourcis. Les échanges soulignent que l'accès direct aux composants de la fenêtre principale depuis la seconde est problématique, et préconisent l'encapsulation et des méthodes publiques. La solution recommandée consiste à exposer une méthode publique dans la fenêtre principale (par exemple changeButtonMnemonic), puis à passer la référence de la fenêtre principale à la fille et à l'appeler. D'autres éléments utiles évoquent d'éviter les duplications de main et de privilégier une architecture où le composant déclencheur réside dans le parent, sans dénaturer le design.
-
Bonjour
Il suffit simplement que la classe possèdant le bouton implémente une méthode publique qui permette de faire le changement
la classe appelant cette méthode pourra alors demander à changer ce que tu veux.
-
-
c'est le principe même de l'encapsulation et des responsabilité..
si le bouton appartient à la fenetre 1 et que la fenetre X doit y apporter des modifications, c'est la fenêtre 1 qui est responsable de faire l'action grâce à une méthode publique.
Une petite méthode du style ChangeMyButton(String txt) suffira. -
-
-
C'est juste que ma façon de faire est naze ^^"
Dans ma fenêtre principale j'ai des boutons avec des raccourcis :
bouton.setMnemonic(KeyEvent.VK_R);
Et dans une autre fenêtre je voudrais pouvoir changer la valeur
KeyEvent.VK_R
(Pour changer le raccourcis). Mais j'avoue que le truc des méthodes je pige pas trop comment faire ^^"
-