【发布时间】:2013-11-05 09:43:12
【问题描述】:
我想立即更改两个progressBar。但我不能。
我的意思是..
nextButton.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
WorkProgressBar.setVisible(true);
FileProgressBar.setVisible(false);
AND SO ON(about 2 secs.)
WorkProgressBar.setVisible(false);
FileProgressBar.setVisible(true);
}
}
该代码大约需要 2 秒或更长时间。
但我能看到的只是 ProgressBar 的一闪。
所以我搜索了很多信息。
我用过线程、swingworker、swingutilities(invokelater)
但我无法解决。
我该如何解决这个问题。请帮帮我。
【问题讨论】:
-
'AND SO ON(about 2 secs.)' 阻止处理发送到代表 ProgressBar 的窗口的消息。它们仅在事件处理程序退出时才获得进程,因此可见属性最终会被短暂切换,并且栏只会闪烁。
标签: java multithreading swingworker invokelater swingutilities