Re: repaint() em um looping.
[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: repaint() em um looping.



Sergio writes:
> Oi,
> para fazer uma animação estou usando um repaint() dentro de um FOR,
> mas o repaint() só é chamado na última iteração. Eu estava conversando
> com o Adolfo sobre isso e ele me sugeriu usar um Thread.sleep(10), mas
> não deu certo. Alguém tem mais alguma sugestão pra resolver esse
> problema? Preciso passar mais alguma informação?
> 
> Sérgio
> 
> 
> 

Você tem que fazer double-buffering... senão o Java, em sua infinita
"inteligência", admite que vc quer fazer as coisas muito "rápido", e usa
um algorítmo bizarro que tenta "melhorar" o desempenho apenas desenhando
a última iteração. Ou seja: o Java pensa por você e estraga seu programa
por você. Utilizando o double-buffering você engana o Java e faz ele
desenhar sempre.

Espero ter ajudado.

-- Arthur Biazon Machado   <messias@linux.ime.usp.br>