【发布时间】:2015-05-05 09:04:32
【问题描述】:
所有编码运行,我唯一的问题是进度条不显示值的变化。我设置了值,但如果我运行它设置的值,则不会显示在进度条上。 (栏没有填满)
public void logIn() {
try {
while (true) {
calculate();
System.out.println(loadingProgress);
if (loadingProgress < 100) {
mGUI.pbLoading.setValue(loadingProgress);
Thread.sleep(random.nextInt(5000) + 100);
} else {
mGUI.pbLoading.setValue(100);
break;
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void calculate() {
random = new Random();
loadingProgress = loadingProgress + random.nextInt(9) + 1;
}
【问题讨论】:
-
看来你在这里屏蔽了
EDT。阅读Concurrency in Swing,您还需要使用SwingWorker进行长时间的后台任务。检查example。 -
正是same situation I faced。 Here 是固定代码。使用 SwingWorker。
标签: java swing jprogressbar