gpt4 book ai didi

java - 如何将进度条同步到数据?

转载 作者:行者123 更新时间:2023-11-30 11:42:21 25 4
gpt4 key购买 nike

我的程序从文件系统的目录中读取文件。我有一个进度条,它的最小值设置为 0,最大值设置为 n(特定目录中的文件数)。上面是一段显示迭代进度的文本... 1/100, 2/100, 3/100 etc.

我遇到的问题是显示的文本永远不会与进度条同步。当文本显示 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());

}
}
});

最佳答案

尝试在你的线程中使用一个“计数器”

pb1.setMinimum(0);
pb1.setMaximum(files2.size());

shell.getDisplay().asyncExec(new Runnable() {
public void run() {
int n = pb1.getMinimum();
int d = pb1.getMaximum();

if (pb1.isDisposed()) { return; }

for(final File f:files2){
pb1.setSelection(n);
dialogShell.setText("Loading "+n+"/"+d);
n++;
}
}
});

关于java - 如何将进度条同步到数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11750600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com