Ciao a tutti, sto facendo un piccolo applicativo in java, e ho bisogno di una progressBar, ho un problema, mi aggiorna il valore della progressBar solo alla fine del esecuzione del ciclo:
vi posto il codice
codice:public void inviaSms(){ ... ProgessBar d = new ProgessBar(this,count); Thread t = new Thread(d); t.start(); for (int i=0; i<count; i++){ String num = jTable1.getValueAt(i, 2).toString(); s.mandaSms(num, ss); try { Thread.sleep(1000); } catch (InterruptedException ex) { Logger.getLogger(Launch.class.getName()).log(Level.SEVERE, null, ex); } } ...codice:public void updateProgressBar(double i){ progressBar.setValue((int)i); }Dove sbaglio?codice:package gui; import java.util.logging.Level; import java.util.logging.Logger; public class ProgessBar implements Runnable{ Launch context; int count; public ProgessBar(Launch context, int c){ this.context=context; this.count=c; } public void run() { double i=0; double valore=100/count; while (i<100){ context.updateProgressBar(i); try { Thread.sleep(50); } catch (InterruptedException ex) { Logger.getLogger(ProgessBar.class.getName()).log(Level.SEVERE, null, ex); } i+=valore; } } }

Rispondi quotando

