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…
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
A
arglas
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!!
A
arglas
Eu tava tentando usar o SwingWorker assim:
SwingWorkerworker=newSwingWorker<Void,Void>(){@OverridepublicVoiddoInBackground(){//Aqui ele carrega uma progressbar no modo indeterminateProgressBarpb=newProgressBar();pb.setVisible(true);returnnull;}@Overridepublicvoiddone(){//Era pra ele fazer isso enquanto a progressbar é mostradageraLista();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 =/ )
Como utilizo elas da forma correta? Lembrando que os dois eventos são disparados ao apertar de um botão.
Heeeeeeelp me please :roll:
A
arglas
Ah e não aparece mensagem de erro nenhuma, ele só não executa nada quando eu uso o SwingWorker…
ViniGodoy
O setVisible vc dá antes de chamar o SwingWorker.
Os métodos que estão no seu done() atualmente é o que vc quer que rode em background. Então põe eles no doInBackground() !
A
arglas
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?
A
arglas
Depois do método deve ser né, tentarei =)
A
arglas
AEEEEEEEEEEE \o/ holymotherfucker até que enfim deu certo =D
Agora só falta cancelar o progressbar heheheheh =D
Ficou meio gambiarra mas funcionou…
VALEU VINYGODOY por compartilhar conhecimento me ajudando com essa parte=P
Abração cara e sucesso independente da sua área de atuação =)