Galera sou novo aqui e estou com um problema que não consigo entender. Em meu TCC tenho um frame, dentro deste frame eu tenho um JLabel com um gif animado nela. Eu chamo esse frame entes de chamar um método, dai enquanto esse método é executado, a gif animada indica que esta havendo processamento, só que a gif só aparece quando o método termina seu trabalho. O frame ate aparece enquanto o método é executado mas a gif só aparece quando ele termina. É como se o método que eu chamo depois do frame tivesse mais importância do que a execução da gif que foi chamada primeiro. O que poderia ser?
Abaixo segue o trecho do código:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Analisando2 analis = new Analisando2(); // Obeto que contem o frame com a Gif animada.
// a gif tem que aparecer dai pra baixo.
PlanarImage picture = JAI.create(“fileload”, “c:/Imagens/particulas.jpg”);
Imagem um = new Imagem (picture);
um.binarize();
Filtro filtro1 = new Filtro(“c:/Outputbin/Binarizada.bmp”);
filtro1.Mediana();
filtro1.eliminaBordas();
File file1 = new File(“c:/Outputbin/Filtrada2.bmp”);
BufferedImage picture2 = ImageIO.read(file1);
Contador cont1 = new Contador(picture2);
quantidade = cont1.contaParticulas();
// a gif só aparece deste ponto em diante
textField1.setText(String.valueOf(quantidade));
jButton3.setEnabled(true);
} catch (IOException ex) {
Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
}
}
public class Analisando2 {
JFrame frame = new JFrame();
public Analisando2(){
Icon ico = new ImageIcon(“icones/xpto.gif”);
JLabel label = new JLabel(ico);
frame.getContentPane().add(label);
frame.setSize(101,101);
frame.setUndecorated(true); // tira a borda superior com os três botões do windows
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}