exécuter un événement d'une classe à partir d'une autre classe - Java - Programmation
Marsh Posté le 22-04-2003 à 13:36:37
euh pq tu ferais pas un Listener?
Marsh Posté le 22-04-2003 à 13:44:33
J'ai essayé avec un EventListenerList, mais j'ai quelque souci
je l'ai créé dans la seconde classe mais je n'arrive pas à déclencher les événements que j'ai créé
Marsh Posté le 22-04-2003 à 13:46:29
ce que tu fais ne peut se faire,il y a les classes d'evenement habituelles pour cela,tout se passe dans la meme classe
Marsh Posté le 22-04-2003 à 14:12:53
fredjava2 a écrit : ce que tu fais ne peut se faire,il y a les classes d'evenement habituelles pour cela,tout se passe dans la meme classe |
qu'est ce que tu racontes toi?
Marsh Posté le 22-04-2003 à 14:14:02
tomlameche a écrit : J'ai essayé avec un EventListenerList, mais j'ai quelque souci |
bon si tu fais addXXXListener en passant en param une classe c'est elle qui recevra les events (et tu peux en ajouter plusieurs si ca te change)
En gros tu fais addXXXListener sur ta première classe en passant une instance de la seconde (et dans la seconde tu implémentes le listener qu'il faut)
Marsh Posté le 22-04-2003 à 14:59:44
tomlameche a écrit : |
Ah ouais ... passe à C++ si tu veux que le compilo ne vérifie rien.
Sinon, ton besoin s'appelle le pattern Observer et il est implanté dans java comme te le dit DarkLord.
Marsh Posté le 24-04-2003 à 09:43:29
nraynaud a écrit : |
J'ai trouvé une astuce à 2 balles. J'ai créé un Event (Classe Event (class cible ,id de l'évent, argument passé à l'évent )
dans la seconde class.
dès que je veux déclencher l'évent, j'appelle la fonction appartenant à la classe Component handleEvent
Il ne reste plus qu'à créer un test dans la fonction de la première classe sur l'id que j'ai attribué précédemment.
Marsh Posté le 24-04-2003 à 09:46:22
j'ai la vague impression que tu te compliques la vie pour rien
Marsh Posté le 24-04-2003 à 09:57:55
DarkLord a écrit : |
Ben peut être, mais en fait, le but est de pouvoir executer un evenement, qui peut être n'existe pas dans la première classe !
Mon but au départ est de recoder un messageBox : du coup, la boite de dialogue doit declencher un Event en fonction du bouton selectionner dans la boite de dialogue, mais il ne doit pas y avoir forcement cet evenement dans la classe appelante qui peut être n'importe quoi derivé de component.
Avec ce système, ca marche, mais y a peut être mieux ?
Marsh Posté le 25-04-2003 à 11:01:11
J'ai pas tout suivi...
Une class envoie l'évènement. Elle doit donc le connaitre, puisqu'elle le crée.
L'autre classe reçoit l'évènement. Elle doit aussi le connaitre, sinon elle ne peut pas le gérer, non ?
Marsh Posté le 25-04-2003 à 11:17:17
J'avais gardé ça dans mes favoris :
http://forum.hardware.fr/forum2.ph [...] ubcat=#bas
C'est pas beau la vie !?
Marsh Posté le 22-04-2003 à 13:09:32
J'ai deux classes une qui dérive de component et l'autre de Frame.
Dans la première, j'ai créé un événement.
Dans la seconde, je voudrai exécuter cet événement. Je passe en argument la 1ere classe dans la seconde (type Component et non le nom de ma nouvelle classe).
Il me faudrait une fonction qui puisse me permettre d'exécuter l'événement sans que le compilateur ne vérifie si l'événement existe dans la classe component