Agora estou querendo usar Threads para isso. Minha dúvida é o seguinte:
Eu vou ter que usar UM Thread para executar o métodoBlaBla e OUTRO para deixar minha jProgressBar1 funcionando ao mesmo tempo? Ou eu posso fazer apenas UM Thread para o jProgressBar funcionar o metodoBlaBla é executado?
olha kra…as classes daki q eu usei progressbar ao menos não funcionam o movimento da progressbar se a mesma thread estiver fazendo alguma coisa q seja demorada…
o q eu faço é bota o processamento demorado até em outra classe e chama ela atravéz de uma thread, enquanto que tudo o que for recurso grafico fica na thread principal…
talvez vc encontre até alguns exemplos de barra mostrando o status onde ta copiando arquivo nas minhas mensagens antigas dai do forum… (mais eu nao usava setindeterminate(), apesar q creio q vc nao terá problemas, com ele o código fica mais simples)
Agora estou querendo usar Threads para isso. Minha dúvida é o seguinte:
Eu vou ter que usar UM Thread para executar o métodoBlaBla e OUTRO para deixar minha jProgressBar1 funcionando ao mesmo tempo? Ou eu posso fazer apenas UM Thread para o jProgressBar funcionar o metodoBlaBla é executado?
Agradecendo antecipadamente…
[/quote]
Todo o swing já executa em uma thread so dele. Essa irá alterar o aspeto do progressbar.
A única coisa que vc precisa fazer é colocar essas 3 instruções a executar em outra thread.
Mas isso é mais simples do que parece. Procure pela classe SwingWorker do Java 6
Valeu maior_abandonado, ViniGodoy e sergiotaborda !!
Muito obrigado mesmo, eu vou dar uma pesquisada nas soluções apontadas e postar aqui o melhor resultado que se adequar às minhas necessidades.
Abraços!!
SwingWorker worker = new SwingWorker<Void, Void>() {
@Override
public Void doInBackground() {
//Aqui ele carrega uma progressbar no modo indeterminate
ProgressBar pb = new ProgressBar();
pb.setVisible(true);
return null;
}
@Override
public void done() {
//Era pra ele fazer isso enquanto a progressbar é mostrada
geraLista();
ordenaTabela();
}
};
Não consegui usar esse SwingWorker. Devo estar usando errado.
Eu tentei fazer om threads, criei um thread pra cada função tipo: (provavelmente não estou sabendo usar porque ele cria o progress bar e PRONTO nao faz mais nada =/ )
(new Thread(new CarregaProgressBar())).start();
(new Thread(new CarregaLista())).start();
Como utilizo elas da forma correta? Lembrando que os dois eventos são disparados ao apertar de um botão.
Heeeeeeelp me please :roll:
Ok coloquei antes… e as funções eu coloquei dentro do DoInBackground, porém sem efeito. Ele lança o progressbar porém não termina nunca… alguma sugestão?
Não faz pergunta difícil cara auhauhauhau me explica essa parte que eu desconheço, nunca tinha trabalhado com swingworker =P Onde eu implemento essa parte?