Conception : passage d'événement

Conception : passage d'événement - Java - Programmation

Marsh Posté le 17-09-2002 à 12:25:59    

Difficile de trouver un titre. Voilà le problème :
 
Un logiciel App, son interface graphique AppFrame. AppFrame dispose de 3 panels (AppPanel1, AppPanel2, AppPanel3 : ce sont des classes héritant de JPanel).
 
Maintenant j'ai une List dans App, que chaque panel est susceptible de modifier. En clair j'ajoute, je modifie ou je retire des éléments à l'objet List. Cela influe directement sur ce que tous les panels doivent afficher dans leurs JComboBox par exemple.
 
Comment feriez vous pour concevoir ça de manière propre ?


---------------
Le site de ma maman
Reply

Marsh Posté le 17-09-2002 à 12:25:59   

Reply

Marsh Posté le 17-09-2002 à 12:36:26    

Reply

Marsh Posté le 17-09-2002 à 12:46:44    

lorill a écrit a écrit :

Un petit mediateur ?
http://www.execpc.com/~gopalan/des [...] iator.html



Mouarf ! Terribeul ! Je matte ça et je reviens si j'ai un soucy !


---------------
Le site de ma maman
Reply

Marsh Posté le 17-09-2002 à 15:32:00    

J'ai un soucy ! Le modèle présenté dans l'article est le suivant : j'ai une chaîne de caractère dans un objet, si je la change, je veux que l'autre objet change sa chaîne aussi. Jusque là OK.
 
Moi, je peux faire plus ! Je peux ajouter, changer ou retirer des objets, du coup la méthode void changed(Mediator m), je sais plus trop comment l'implémenter. Vu qu'il peut y avoir trois changement possibles je fais comment et vu que les panels modifient pas la liste au même niveau (niveau objet, sous objet...)
 
Bref, je cherche un Mediator un peu plus compliqué que celui de l'exemple, qui s'il illustre bien le propos ne m'aide pas vraiment à voir dans mon cas complexe comment m'y prendre propre.


---------------
Le site de ma maman
Reply

Marsh Posté le 17-09-2002 à 15:41:31    

Cherrytree a écrit a écrit :

J'ai un soucy ! Le modèle présenté dans l'article est le suivant : j'ai une chaîne de caractère dans un objet, si je la change, je veux que l'autre objet change sa chaîne aussi. Jusque là OK.
 
Moi, je peux faire plus ! Je peux ajouter, changer ou retirer des objets, du coup la méthode void changed(Mediator m), je sais plus trop comment l'implémenter. Vu qu'il peut y avoir trois changement possibles je fais comment et vu que les panels modifient pas la liste au même niveau (niveau objet, sous objet...)
 
Bref, je cherche un Mediator un peu plus compliqué que celui de l'exemple, qui s'il illustre bien le propos ne m'aide pas vraiment à voir dans mon cas complexe comment m'y prendre propre.




 
Tu fais péter un gang bang de listeners un peu partout.
Chaque applet est un listener de la liste et la liste est un listener de chacun des objets qu'elle contient. Une modif d'objet fait remonter l'évenement à ses listeners, donc à la liste, qui passe la balle aux listeners de liste.

Reply

Marsh Posté le 17-09-2002 à 15:44:56    

JyB a écrit a écrit :

 
 
Tu fais péter un gang bang de listeners un peu partout.
Chaque applet est un listener de la liste et la liste est un listener de chacun des objets qu'elle contient. Une modif d'objet fait remonter l'évenement à ses listeners, donc à la liste, qui passe la balle aux listeners de liste.
 



Euh, c'est plus simple, c'est pas des applets, c'est des panels. Je me demande : le pattern Observable / Observer ce serait pas ce qui me faut en fait ?


---------------
Le site de ma maman
Reply

Marsh Posté le 17-09-2002 à 15:47:31    

Cherrytree a écrit a écrit :

Euh, c'est plus simple, c'est pas des applets, c'est des panels. Je me demande : le pattern Observable / Observer ce serait pas ce qui me faut en fait ?




 
Oui, désolé pour applet, je pensais écrire widget en fait :)
Sinon, oui c'est ça pattern observable/observer, ça correspond aux listeners existants déjà en java.

Reply

Marsh Posté le 17-09-2002 à 16:03:51    

JyB a écrit a écrit :

 
 
Oui, désolé pour applet, je pensais écrire widget en fait :)
Sinon, oui c'est ça pattern observable/observer, ça correspond aux listeners existants déjà en java.



Alors au boulot. Hardi compagnons ! Ah merde, c'est vrai, je suis seul. [:joce]


---------------
Le site de ma maman
Reply

Marsh Posté le 17-09-2002 à 16:11:48    

:lol:


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

Sujets relatifs:

Leave a Replay

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