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.