我的程序从文件系统的目录中读取文件。我有一个进度条,最小值设置为
我的问题是显示的文本与进度条永远不同步。当进度条显示约
0
,最大值设置为n
(特定目录中文件的数量)。在进度条上方有一段文本,显示迭代的进度... 1/100、2/100、3/100
等等。我的问题是显示的文本与进度条永远不同步。当进度条显示约
70%
时,文本却说100/100
。有人能帮我解决这个问题吗?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());
}
}
});
syncExec
而不是asyncExec
,asyncExec
不会等待UI“更新”,而syncExec
会。 - T I