action listener d'un bouton utilisé dans une autre classe - Java - Programmation
Marsh Posté le 17-02-2005 à 23:49:45
la ou tu passes "this", c'est parce "this" (l'objet dans lequel ce code se trouve) implements MachinListener.
Il tu suffit d'implementer cette interface dans la classe de ton choix, de l'instancier, et de la passer à ta methode set/addMachinListener. (celle qui prend "this" dans ton example)
Marsh Posté le 18-02-2005 à 08:52:32
Le plus simple avec les boutons est d'utiliser les actions. Tu peux définir simplement une action en héritant AbstractAction et implémentant la méthode actionPerformed. Il ne te reste qu'à positionner l'action sur le bouton en appelant
Code :
|
Marsh Posté le 18-02-2005 à 11:44:06
euh ouais, ché pas pourquoi j'ai parlé de listeners moi
le principe est le meme
Marsh Posté le 19-02-2005 à 10:23:49
Citation : |
merci beaucoup c'est justement ça que je voulais savoir !
mais je voudrais une petite précision.
est ce que je peux déclarer le corps de la fonction MonAction() dans une autre classe (nommé SIG) tout en gardant :
* monBouton.setAction(new MonAction())
dans ma classe CONSOLE.
et si oui il y a t'il des includes à rajouter ou pas ?
Merci !
Marsh Posté le 19-02-2005 à 14:05:33
new MonAction(), ça instancie un objet, c'est pas une méthode.
Marsh Posté le 19-02-2005 à 14:05:54
et on n'est pas en php, on ne fait pas d'includes, on ne parle pas de "fonctions".
Marsh Posté le 19-02-2005 à 19:23:19
oui je me suis un peu embrouillé. mais euh j'ai toujours un peu de mal à comprendre. le setAction sera "exécuté" quand je cliquerais sur le boutton c'est bien ça ?
mais je voudrais mettre ce qui sera exécuté par MonAction dans une autre classe. c'est possible ?
Marsh Posté le 21-02-2005 à 09:55:38
[citation=987206,0,8]... le setAction sera "exécuté" quand je cliquerais sur le boutton c'est bien ça ?
[/citation]
La méthode actionPerformed de l'instance de la classe MonAction sera exécutée.
MonAction est une autre classe. Si maintenant si le code à exécuter est dans une autre classe déjà existante il faut que tu l'appelles dans le actionPerformed de MonAction:
Code :
|
Marsh Posté le 17-02-2005 à 23:29:03
voilà mon petit problème
j'ai une classe qui crée une fenetre avec des bouttons et je voudrais que le traitement de ces boutons (le action performe si je me rappelle bien) s'effectue dans une autre classe.
pour l'instant la doc que j'ai trouvé prend toujours en argument this ce qui pêrmet de le traiter à l'intérieur de la classe ou le boutton a été créé. ors je voudrais que ce traitement soit effectué à l'extérieur.
Quelqu'un pour m'orienter un peu ?
Merci d'avance