Re: repaint() em um looping.
- Subject: Re: repaint() em um looping.
- From: Arthur Biazon Machado <messias@linux.ime.usp.br>
- Date: Fri, 6 Jun 2003 17:51:01 -0300
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>