我有一些带有 for
循环的简单代码。在循环的每次传递中,我必须递增 JProgressBar;但是,这不起作用。见下文:
public void atualizarBarraDeProgresso(final int valorGeral, final int valorAtual) {
Thread threadProgressoCarregamento = new Thread() {
@Override
public void run() {
jProgressBarPersistindo.setValue(valorAtual);
}
};
threadProgressoCarregamento.start();
}
我在如下循环中调用方法“atualizarBarraDeProgresso”:
progressBar.setMinimum(0);
progressBar.setMaximum(qtd);
for(int i = 0; i < qtd; i++) {
atualizarBarraDeProgresso(qtd, i + 1);
doSomething();
}
但是我的进度条没有任何反应。
最佳答案
尝试在 for 语句之前添加一个线程。我希望它能起作用
progressBar.setMinimum(0);
progressBar.setMaximum(qtd);
new Thread(){
@Override
public void run() {
for(int i = 0; i < qtd; i++) {
atualizarBarraDeProgresso(qtd, i + 1);
doSomething();
}
}
}.start();
关于java - Java Swing 中的线程不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19189282/