JProgressBar et listener

JProgressBar et listener - Java - Programmation

Marsh Posté le 07-07-2008 à 11:10:54    

Bonjour, j'ai fait quelques recherches sur internet aux sujet des JProgressBar mais soit les gens utilisent le SwingWorker, soit les gens ne font pas des trucs propres. Voilà mon problème:
 
J'ai une interface graphique dans laquelle on peut lancer un calcul, ceci affiche une JDialog qui contient une JProgressBar.
 
J'aimerais que cette JProgressBar "écoute" ma classe Diagram qui gère un thread de calcul. Cette classe Diagram contient le champ progress et quand celui-ci change j'aimerais que ma jProgressBar se mette à jour.
 
Comment faire cela proprement avec des listeners ( quel listeners, propertyChangeListener? Comment vaguement les implémenter )?
 
Je ne demande pas forcément de code mais plutôt une explication pour me lancer dans un code propre.
 
Cordialement,
Benoît

Reply

Marsh Posté le 07-07-2008 à 11:10:54   

Reply

Marsh Posté le 09-07-2008 à 23:53:11    

si tu veut faire propre c'est du MVC. (google "MVC swing" )
Pas besoin de "thread"  à moins de vouloir un calcul en background:
 
Dans le MVC:
Un bouton lance le calcul (dans un controleur)
Le calcul change la valeur d'une classe. Cette classe c'est le modèle.  
La vue (le JProgressBar ) est observateur du modèle.  
Quand le modèle change, le JProgressBar est notifié. (C'est l'observer pattern).
(pour être notifié il doit d'abord s'inscrire comme écouteur d'évènement du modèle)
 
Voici un exemple complet avec propertyChangeListener
http://java.sun.com/developer/tech [...] avase/mvc/
 

Reply

Sujets relatifs:

Leave a Replay

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