我不能更新我的进度......这是我的代码更新的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