2
我的程序从文件系统的目录中读取文件。我有一个进度条,其最小值设置为0,最大值设置为n(特定目录中文件的数量)。它上面是一段文字,显示迭代的进度... 1/100,2/100,3/100等。如何将进度条与数据同步?
我遇到的问题是显示的文本永远不会与进度条。当文本显示100/100时,进度条将在70%左右。任何人都可以帮助我吗?
pb1.setMinimum(0);
pb1.setMaximum(files2.size());
shell.getDisplay().asyncExec(new Runnable() {
public void run() {
if (pb1.isDisposed())
return;
for(final File f:files2){
pb1.setSelection(pb1.getSelection() + 1);
dialogShell.setText("Loading "+pb1.getSelection()+"/"+pb1.getMaximum());
}
}
});
它仍然不能正常工作。是否有一个原因,当进度条初始设定为50%时,仍然需要一秒钟才能显示该点到那一点?我认为这可能只是这个动画的滞后导致我的问题。 – Jackson 2012-08-01 09:38:32
尝试'syncExec'而不是'asyncExec',asyncExec不会等待UI'更新',因为syncExec会 – 2012-08-01 13:12:30