Créer ses propres listeners
Bonjour
J'ai lu l'excellent tuto sur Developpez pour créer ses propres listeners. J'ai réussi à faire marcher le programme mais j'ai dû utiliser une "astuce" qui casse tout le design pattern MVC...
En fait, mon interface graphique lance un thread.
Code:
1 2 3 4
| public void run()
{
Partie p = new Partie(1,4);
} |
Le problème, c'est que 'p' lance une boucle infinie (c'est voulu) et donc si je fais :
Code:
1 2 3 4 5
| public void run()
{
Partie p = new Partie(1,4);
p.addMyListener(this);
} |
évidemment, le listener n'est jamais crée... Donc je ne vois pas comment faire... Ce que j'ai réussi à faire pour au moins tester que tout marche au niveau du code, c'est faire addMyListener dans le constructeur de Partie et de passer au constructeur de Partie une référence sur l'interface graphique et donc j'ai :
Code:
1 2 3 4 5
| public Partie(int a, int b, Gui ig)
{
// du code...
// avant la boucle infinie
addMyListener(ig); |
Et là, ça marche ... Seulement je perds l'intérêt du listener puisque mon modèle dépend de l'interface graphique...
La solution est sûrement évidente, c'est peut-être l'heure tardive qui me rend c*n :aie:
Nas'