Runnable

Résolu
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 23 févr. 2007 à 11:18
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 23 mars 2007 à 20:23
Bonjour a tous.
je n'arrive pas a utiliser Runnable.
Voila comment est ce que je procede:

public class Y extends JFrame implements Runnable {
   public Y(){
      //Mon interface graphique ici
   }

   public void run(){
      //Mon code pour faire avance ma JProgressBar
      System.out.println("operation lancer");
      int Progression;
     while (BarreProgression.getValue() != X.getByteStop()){
         Progression = X.getProgression();
         BarreProgression.setValue(Progression);
         BarreProgression.setString ("Progession: " + (int)(BarreProgression.getPercentComplete()*100) + "%");
     }
      System.out.println("operation fini");
   }

   //Methode appele lorsque le bouton Lancer est cliquer
   public void Lancer(){
      new Thread(this).start();
   }
}

Mon code est fonctionnel, le truc sur le quel je bloque c'est que le ProgressBar n'avance pas. (! sur ma console s'affiche bien les "operation lancer" et "operation fini" ce qui "prouve" que le code est executer !).
je pense que, comme je creer un nouvel objet, lors de l'execution du thread, l'objet BarreProgression n'existe plus.

merci de votre aide.

5 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
23 févr. 2007 à 12:02
Salut:

La raison pour la quellle ton JProgressBar n'avance pas et dû au fait que le code que tu utilises est [unsafe] toute modification d'un composant Swing doit se faire dans le [Dispatch-Event Thread].



Pour le faire utiliser invokeLater () ou invokeAndWait ().



[SwingUtilities.invokeLater (new Runnable ());]



SwingUtilities.invokeLater (new Y ());



______________________________________________________________________
A.B. :  La lumière voyage plus vite que le son. C'est pourquoi certainespersonnes paraissent brillantes jusqu'à ce qu'elles commencent à parler ...
3
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
23 févr. 2007 à 13:45
Bon j'ai dû affronter le même problème que toi. Je te conseille de voir plus d'articles à propos de ce sujet sur developpez.com.


__________________________________________________________
A.B. :  Suis le conseil de celui qui te fait pleurer, et non de celui qui te fait rire.
3
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
23 févr. 2007 à 13:28
merci.
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
23 févr. 2007 à 13:50
d'accord.
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
23 mars 2007 à 20:23
Salut:

Autre remarque avec JDK 1.6 il y a une classe très intéressante qui te permet de faire ça à perfection: SwingWorker.



Voici un exemple d'un progresse bar pour la copie des fichiers avec SwingWorker:



http://rom.developpez.com/java-swingworker/


____________________________________________________________________________
A.B. : 

"Dieu nous donne des mains, mais il ne bâtit pas les ponts."
0
Rejoignez-nous