exécuter un événement d'une classe à partir d'une autre classe

exécuter un événement d'une classe à partir d'une autre classe - Java - Programmation

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

Reply

Marsh Posté le 22-04-2003 à 13:09:32   

Reply

Marsh Posté le 22-04-2003 à 13:36:37    

euh pq tu ferais pas un Listener?


---------------
Just because you feel good does not make you right
Reply

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éé

Reply

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

Reply

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? :heink:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 22-04-2003 à 14:14:02    

tomlameche a écrit :

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éé  


 
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)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 22-04-2003 à 14:59:44    

tomlameche a écrit :


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  


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.

Reply

Marsh Posté le 24-04-2003 à 09:43:29    

nraynaud 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.


 
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.

Reply

Marsh Posté le 24-04-2003 à 09:46:22    

:heink:  
 
j'ai la vague impression que tu te compliques la vie pour rien :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 24-04-2003 à 09:57:55    

DarkLord a écrit :

:heink:  
 
j'ai la vague impression que tu te compliques la vie pour rien :o


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 ?

Reply

Marsh Posté le 24-04-2003 à 09:57:55   

Reply

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 ?

Reply

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 !? :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed