JProgressbar dependante

larecrue Messages postés 13 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 12 décembre 2008 - 5 mars 2005 à 00:17
ayinsat Messages postés 6 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 24 mars 2005 - 24 mars 2005 à 12:58
Bonjour,
J'ai un petit probleme: je voudrais que ma jProgressbar ( dans Maclasse ) affiche l'avancement d'une action dans une autre classe ( DeuxiemeClasse ) qui compte de 0 a 1000 ( variable est val qui est un public static int ).
Voila le source:

public class DeuxiemeClasse(){
...

unefonction(){
int count;

while(count <1000) {
val=count;
count++;
Thread.sleep(1000);
}
}
}

public class Maclasse (){
...

unefonction(){

start=false;
finish=false;
progressBar.setMaximum(1000);
progressBar.setValue( progressBar.getMinimum() ) ;

final Maclasse thisFrame= this;

new Thread() {

Maclasse mFrame= thisFrame;

public void run() {

try {

System.out.println("start");

start = true;

while (DeuxiemeClasse.val<1000){

progressBar.setValue( DeuxiemeClasse.val ) ;
progressBar.repaint();
System.out.println(DeuxiemeClasse.val);

}
progressBar.setValue(1000);
finish=true;

}
catch ( Exception e ) {
System.err.println( "Error : " + e.getMessage() ) ;
e.printStackTrace() ;
}
}
}.start();

while(!start){};

test=new DeuxiemeClasse();
test.fonction();

while(!finish){};

DeuxiemeClasse.val=0;
finish=false;
start=false;
}
}

Ca marche un peu mais pas trop, je vois dans la console que ca compte mais ma jProgressbar elle bouge pas et tout a la fin elle passe cash au bout.
Je comprend pas, si quelqu'un pouvait me dire comment m'y prendre, si ce que je fais c'est pas tres propre comme solution, je l'en remercie d'avance.

1 réponse

ayinsat Messages postés 6 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 24 mars 2005
24 mars 2005 à 12:58
0
Rejoignez-nous