Galera…estou aqui com mais uma dúvida.
Estou utilizando alguns arquivos de imagem .gif. Estes arquivos são gifs animados qu funcionam da seguinte maneira:
Ao clicar num botão método muda a imagem atual do jlabel setando o gif animado e vai fazer o resto do procedimento.
Porém nada acontece no meu JFrame, ou seja, no JFrame continua a imagem que estava anteriormente.
Ao final do método eu abro um JOptionPane informando que o processo foi concluído e só aí que a figura animada vem aparecer…
Como fazer para que esta aparece desde o inicio do processo???
Segue meu Código.
//estou trabalhando com sockets
ImageIcon image = new ImageIcon(getClass().getResource("/Imagens/com0101.gif"));//a imagem esta dentro do source do meu projeto
jLabel21.setIcon(image);
jLabel21.getUI().update(jLabel21.getGraphics(), jLabel21);
Cliente c = new Cliente();//classe socket que faz conexao com um servidor
InetAddress localaddr = null;
int contador=0;
try {
localaddr = InetAddress.getLocalHost();//busca os dados de rede do pc/ fiz isso pra pegar o ip da estação
} catch (UnknownHostException ex) {
System.out.println(ex.toString());
}
//BEM, A ESTA ALTURA A IMAGEM JÁ DEVERIA APARECER, MAS AINDA CONTINUA COM A IMAGEM ANTERIOR A INSERIDA.
ArquivoEnvio ae = new ArquivoEnvio(a.getArquivoConfig().getIpServidor(), localaddr.getHostAddress(), null, null);//classe que implementa Serializible para envio de dados
boolean r = false;
do {
try {
r = c.verificaServidorLigado(ae);
if(r){
vsl.setStatusServidor(true);
vsl.start();
}
}
catch (SocketException ex) {
if(ex instanceof ConnectException){
//SOMENTE QUANDO ELE ENTRA AQUI , A IMAGEM ANIMADA APARECE.
JOptionPane.showMessageDialog(this, "O servidor encontra-se desligado!\nEntre em contato com a central!", "SRR", JOptionPane.WARNING_MESSAGE);
break;
}else{
System.out.println("porta oculpada");
Thread.sleep(1000);
}} while (!r);