Animacao com swing

4 respostas
M
Ola a todos

Ja fiz algumas animacoes (troca de imagens em sequencia) usando swing e sempre deu certo.

Mas desta vez fiz um applet e a imagem nao e atualizada na tela, apenas no final.

Uso o Graphics para editar a imagem e uso o metodo:

this.painel.setIcon(new ImageIcon(this.fundo)); para troca a imagem.

painel e um JLabel e fundo um BufferedImage.

Uso o metodo delay para temporizar a animacao.

public static void delay(int n){

try{

Thread.sleep(n);

}catch(InterruptedException e){

System.out.println(Erro ao tentar esperar.);

}

}//fim delay

Alguem ja passou por problemas como este que possa me dar uma dica de o que estou esquecendo.

Obrigado a todos.

T+

4 Respostas

T

Você precisa usar um timer, não um delay. É que enquanto você está esperando com “sleep” o “mundo pára” e o que ocorre é que a tela não é refrescada.

M

thingol:
Você precisa usar um timer, não um delay. É que enquanto você está esperando com “sleep” o “mundo pára” e o que ocorre é que a tela não é refrescada.


Mesmo atualizando a tela antes de chamar o delay nao e’ feita a atualizacao.

davidbuzatto

Delega a atualização do painel para outra thread usando o método SwingUtilities.invokeLater ou então usando a classe SwingWorker.

Até mais!

D

Alguem poderia me dizer como faço para animar uma imagem usando swing (no JPanel). O netBeans, ja tem alguma ferramenta pronta para isso?

Help me

Criado 30 de agosto de 2007
Ultima resposta 20 de set. de 2007
Respostas 4
Participantes 4