É o seguinte tenho um app swing qdo o usuario clica no botão gerar arquivo é acionado um sprite com uma animação esta animação consiste na seguinte classe:
package br.com.stcruz.pfat.atividade.utils;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
public class AnimateIconLabelWraper extends Thread {
private JLabel label;
private ImageIcon []ImgIcons;
private long timeInterval;
public AnimateIconLabelWraper(JLabel label, ImageIcon []imgIcons, long timeInterval) {
this.label = label;
this.ImgIcons = imgIcons;
this.timeInterval = timeInterval;
}
public AnimateIconLabelWraper(JLabel label, ImageIcon []imgIcons) {
this(label, imgIcons, 500);
}
private void trocaFastIcon() {
int count = 1;
while (true) {
try {
if (count == ImgIcons.length) {
count = 0;
}
label.setIcon(ImgIcons[count++]);
Thread.sleep(timeInterval);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void run() {
trocaFastIcon();
}
}
minha app tem 3 JPanel um de formularios, outro de botões e outro contendo a minha animação que inicialmente não é visivel… qdo o usuario clicar em gerar arquivo a app esconde os outros panel, inicia a Thread passando o array de imagens, o tempo e o JLabel e mostra o que tem a animação…
e qdo termina o processo ele faz o processo inverso… mas o problema e que a app não exibe a animação…
se eu não chamar o metodo de terminar o processo a animação executa normalmente mas ao eu chamar o metodo de terminar o processo (o qual e executado qdo o arquivo ja foi gerado pra voltar a tela e esconder a animação) a animação nem roda, a imagem nem sequer aparece…
alguem sabe oq pode estar ocorrendo?