我不能更新我的進度......這是我的代碼更新的JProgressBar
Thread t=new Thread(new Runnable(){
public void run(){
int i=1;
jProgBar.setMinimum(0);
jProgBar.setMaximum(100);
try {
while(i<=100 || true){
jProgBar.setValue(i);
i++;
Thread.sleep(50);
}
}
catch (InterruptedException ex){
jProgBar.setValue(jProgBar.getMaximum());
}
}
});
t.start();
.... Something code that correctly works
t.interrupt();
進度條狀態僅在線程結束時更新。 有人可以幫助我嗎?
。 Swing顯然是以這種方式設計的(單線程)以避免太複雜。任何來自外部的呼叫都可能導致潛在的相互阻擋。我的理解是,invokeLater()將一個調用放置在某種執行隊列的末尾。 – 2010-07-04 13:48:22