Olá, estou com problema pra utilizar um gif como progressBar, eu do um visible(true) toda vez que executo algum processo demorado, mais o gif não é atualizado enquanto o outro processo esta sendo executado, estou tentando amarrar de alguma forma este gif a uma thread, mais não estou conseguindo, será que alguem tem algum exemplo que possa me ajudar?
Qualquer processo longo deve ser delegado a uma thread (usualmente uma SwingWorker). Se o processo longo ficar na mesma thread do Swing, tudo (inclusive os gifs animados) ficará parado e não será atualizado corretamente.
Olá entanglement, vlw pela resposta, tenho problema para executar esse processo em uma outra thread, pois esse processo atualiza alguns componentes de tela, e acaba gerando exception (Thread safe), estou tentando usar o invokeAndWait, mais mesmo assim ocorre os erros. Se alguem tiver algum exemplo para me ajudar ficarei agradecido.
entanglement sua resposta me ajudou muito, o painel onde é exibido o gif já aparece na hora certa, porem o gif parece que não atualiza, ele aparece na tela mais não funciona a animação…vlw pela força
Não, é a operação lenta que tem de ficar em uma thread separada, e as coisas que ela precisa fazer (como atualizar um label ou um JTable) é que devem ser invocadas via invokeLater. invokeLater força o código que está no método run a rodar na thread do Swing.