Pattern Observer/Observable : petit souci - Java - Programmation
Marsh Posté le 08-12-2010 à 11:40:28
Citation : mais cela ne fonctionne pas |
Qu'est ce que tu attends comme comportement et que se passe-t-il ?
Citation :
|
Mauvaise façon de tester l'egalité d'une chaine : utilise la méthode equals
Dans actionPerformed, tu appelles explicitement la méthode update...
Le but du pattern Observer/Observable c'est justement de ne pas avoir à faire cet appel.
Marsh Posté le 08-12-2010 à 17:31:37
N'ayant pas encore eu de cours sur les UI a la fac et devant faire un gestionnaire de contacts, j'ai pensé en profiter pour ma faire la main sur les UI.
Le problème est que j'ai du mal avec ce pattern.
Je voudrais juste que le texte entré dans le text field apparaisse dans le label (histoire de comprendre les étapes de fonctionnement et pour pouvoir l'appliquer a mon projet).
Marsh Posté le 09-12-2010 à 09:46:28
Citation : Je voudrais juste que le texte entré dans le text field apparaisse dans le label (histoire de comprendre les étapes de fonctionnement et pour pouvoir l'appliquer a mon projet). |
Le principe de l'Observer/Observable est :
- l'Observable (TestString) notifie ses changements via les méthodes setChanged et notifyObservers. C'est ce que tu as fais.
-l'Observer traite ces notifications dans la méthode update.
Là, ce qu'il te manque c'est que dans la méthode update il faut mette à jour la valeur de ton label.
Marsh Posté le 09-12-2010 à 10:10:32
D'accord.
Je crois que je viens de comprendre.
Dans la fonction update, je peux redessiner l'ensemble de la fenêtre en faisant un "this.repaint()"?
(j'ai testé avec un repaint mais ca ne fonctionne pas)
Marsh Posté le 09-12-2010 à 10:23:06
Avant d'essayer de faire un repaint, il faut que tu mettre la valeur de ton label à jour :
Code :
|
Marsh Posté le 08-12-2010 à 10:13:23
Bonjour a tous,
Je suis entrain de finaliser un projet pour ma fac mais je me trouve face a un souci de taille...
Nous sommes obligés d'utiliser le modèle MVC. Vu que je n'arrive pas a le faire fonctionner sur mon projet, j'ai décidé de le tester sur une classe bidon mais cela ne fonctionne pas. Si quelqu'un pouvait me donner une indication car j'ai surement fait une boulette quelque part mais comme ça, de prima-bord, je ne vois pas.
Classe observable :
Classe utilisant l'observeur :
Le code n'étant pas commenté, il s'agit d'une bête fenêtre contenant un text field avec un bouton pour valider, afin de mettre a jour le label.
Merci d'avance pour votre aide.
Message édité par serial_xp le 08-12-2010 à 10:43:09