|
Caros Colegas da Lista,
não estou conseguindo realizar uma tarefa que ao meu
ver parece simples.
A descrição do
problema é a seginte:
Neste código descrito abaixo, quando o meu
método GenerateImage é chamado, ele chama o método
repaint(), o qual é executado n vezes. A função deste
método é gerar várias imagens na tela do meu software de
forma que o usuário possa ver as imagens uma a uma durante a
geração das mesmas. Estas imagens, em conjunto, irão formar
uma animação. Porém, o que está acontecendo é
que ao invés de executar um repaint de cada imagem o meu programa
só exibe ao usuário o último frame. É como se ele
estivesse executando o loop sem esperar pela geração das
imagens.
A minha dúvida é como sequenciar o meu loop de
maneira que eu consiga visualizar todos os frames.
class Main{ ImageGenerator Image = new ImageGenerator( ); ............ for( frame=1 ; frame<10 ; frame++ ) { Image.GenerateImage(frame); Texture.Animation(frame); } } class ImageGenerator extends Canvas{ ImageGenerator( ) { } GenerateImage(int frame) { //here is the problem. The repaint( ) method is called but not //executed, excepted when (frame==10) (the last frame of the animation) repaint( ); } paint( ) { //generate each MxN pixels of the image //print then on the screen //save then on a matrix wich will be saved to a file } } Obrigado pela ajuda.
Ricardo.
|
- Re: Problemas com o Repaint. Ricardo Santos
- Re: Problemas com o Repaint. Bruno Souza (Sun Microsystems)
