Salve, ho una classe Gui, nella quale c'è una Jprogress.
Dalla gui viene chiamato il metodo di un'altra funzione che fà molti molti calcoli.
La gui è stata creata come singleton
quindi dalla classe "analisi" per richiamare la gui basta che uso Gui.getInstance().
Per aggiornare la jprogress ho creato un thread apparte che mi faccia sempre l'aggiornamento
con una variabile che viene incrementata nella classe analisi.
Vi posto un pò di pseudocodice per farmi capire meglio
Nella Gui:
codice:
public JProgressBar getProgress()
{
return this.progress;
}
Nella classe di analisi:
codice:
int value =0;
public void setThread(){
t = new Thread(new Runnable(){
public void run(){
while(true){
Gui.getInstance().getProgress().setValue(value);
}
}});
}
public void stopThread(){
t=null;
}
public void startThread(){
t.start();
}
public void runcontrols(){
startThread();
control1();
control2();
stopThread();
}
public void control1(){
int numCicli = 1000000;
Gui.getInstance().getProgress().setMaximum(numCicli);
.
.
.
for(int i=0;i<numCicli;i++){
.
.
.
value++;
}
value=0;
}
public void control2(){
int numCicli = 520000;
Gui.getInstance().getProgress().setMaximum(numCicli);
.
.
.
for(int i=0;i<numCicli;i++){
.
.
.
value++;
}
value=0;
}
Cos'è che sbaglio?