> Disponho de uma classe(derivada de Canvas) que
> atualiza constantemente certas informacoes na tela,
> atraves da verificacao do conteudo de uma variavel,
> valendo-se do metodo repaint() para redesenhar alguns
> graficos.
> A modificacao do valor da variavel eh feita dentro de
> um loop while, atraves da chamada de um metodo publico da classe, que
> por sua vez incrementa a variavel e invoca o repaint(), tipo:
>
> while (true) {
> meuObjeto.atualiza();
> // segue mais algum codigo...
> }
>
> No entanto, somente ao sair do loop, os graficos sao gerados e
> apresentados na tela, apesar da variavel de
> atualizacao, interna da classe, ser incrementada, isso eu testei. Eh
> como se os eventos de pintura fossem colocada na fila de eventos e nao
> fossem despachados, apenas no final do loop. Acontecia muito isso
> quando eu programava em Pascal, no Delphi, quando colocava um Gauge de
> verificacao de processamento dentro de um loop. So era atualizado apos
> a saida do loop. Resolvi colocando logo apos a chamada do metodo de
> atualizacao do Gauge, uma chamada a uma funcao de nome
> processmessages() que forcava o processamento das mensagens acumuladas
> na fila de eventos. Cheguei onde eu queria: Em Java existe algo
> similar?
> Agradeco antecipadamente.
> Andre.
Andr�,
A atualiza��o da tela � feita por uma Thread rodando com baixa
prioridade, ou seja, somente ser� executada quando outras tarefas lhe
permitirem ser executada.
Provavelmente o seu loop roda constantemente n�o deixando tempo para
a AWTThread (a thread de desenho de tela) rodar.
Tente colocar no seu loop uma instru��o do tipo Thread.sleep(100) ou
Thread.yield(). Tente v�rios valores para o sleep() e veja o que melhor
funciona para seu caso.
Uma pergunta: Por que voc� n�o cria uma conta de e-mail pr�pria em
vez usar o da Simone? Isto gera confus�o. Existe uma infinidade de servi�os
de e-mail gratuitos.
Vanei Anderson Heidemann
Senior Programmer
Sun Certified JAVA Programmer
Technology Center
DATASUL S.A.
"Preste aten��o ao que est� fazendo, o ontem j� lhe fugiu das m�os, o amanh�
ainda n�o chegou."
For my always up-to-date contact information, click here:
http://www.planetall.com/main.asp?cid=1073200
It's private, secure, and free!
Vanei Anderson Heidemann.vcf