Utilizando o JProgressBar em uma classe

Olá pessoal, estou construindo uma aplicação que faz um ciclo muito grande de loop, utilizando for. Criei um formulário e uma classe a parte com todos os for que precisso na aplicação. Mas agora eu gostaria de usar um JProgressBar para acompanhar a evolução dos loops. Tentei fazer o seguinte, na classe que contem os for:

public void MeusFor(JProgressBar bar){
for…{
bar.setValue(i);
}
}

O programa até aceita tudo não da erro, mas o formulario fica tão ocupado com os for que não mostra o JProgressBar movendo, tem alguma forma de resolver isso?

“resolver” nao é bem a palavra… vc precisa entender como funciona, pq isso nao é um problema…

A questao é que vc está executando tanto o processamento (seus FORs) qto a interfaca grafica na mesma Thread ( a thread main )… vc precisa criar uma thread separada para o seu processo, dessa maneira vc vai ver a sua progress bar sendo atualizada corretamente…

procura mais aqui no Forum sobre isso pq tem um zilhao de topicos ensinando a fazer isso… tem ate um Artigo do guj que dá um exemplo.

Só complementando. A thread é a da AWT, não a main. Normalmente em, aplicações swing, a thread main inicial morre rapidamente.

Dá uma lida aqui:
http://www.guj.com.br/posts/list/57739.java#303640

Para uma explicação mais detalhada.

boa viny :wink:

Valeu pessoal, brigadão!