Rafael wrote:

> vc já tentou o método  repaint()  ?
> -----Original Message-----
> From: vitor <[EMAIL PROTECTED]>
> To: Lista SouJava <[EMAIL PROTECTED]>
> Date: Thursday, March 02, 2000 11:07 PM
> Subject: [SouJava-J] HELP ! Como atualizar JLabel (meio longo)
>
> >Olah JavALL Gurus ! Estou precisando de uma dica !
> >
> >Eh o seguinte: tenho um JFrame ao qual foi adicionado um JLabel  (no
> >codigo exemplo atachado, eh o JLabel l2). Quero poder alterar o conteudo
> >do JLabel (para isso estou usando o metodo setText()) e fazer com que
> >esta alteracao seja imediatamente apresentada ao usuario da aplicacao. O
> >problema eh que naum estou conseguindo fazer isto acontecer.
> >Consultei o Java FAQ e lah encontrei a referencia aos metodos
> >invalidate() e validate() (a ideia eh invalidar o componente e forcar o
> >seu redesenho com o validate()). Segue o texto exato do JavaFAQ:
> >
> >"10.(Sect. 19) When I change some component (e.g. a new label on a
> >button) I don't see the change on the screen immediately even if I
> >repaint().
> >You need to add these calls, instead of the repaint():
> >          invalidate();
> >          validate();
> >They cause the component hierarchy to be marked as needing to be laid
> >out again, and the validate causes that to be done. It may be expensive,
> >but is always the most reliable way of getting the peers to recalculate
> >size and to do what is needed to bring the display up to date. "
> >
> >Mesmo assim, naum consegui fazer funcionar. Como estou com este problema
> >jah hah alguns dias, tentei muitas outras solucoes e nenhuma delas
> >funcionou, por exemplo:
> >- utilizar Frame e Label ao inves de JFrame e JLabel (naum funcionou);
> >- utilizar update() e / ou repaint() ao inves de invalidate() e
> >validate() (e tbem naum funcionou)
> >- chamar diretamente o metodo resize() com o parametro setPreferenceSize
> >(ou algo parecido) e tbem naum funcionou
> >- misturar as chamadas aos metodos validate() e invalidate (ora eu fiz
> >l2.invalidate(); l2.validate(); ora eu fiz l2.invalidate();
> >this.validate(); - para validar o proprio JFrame) mas, adivinhem :,(
> >tbem naum deu certo.
> >- fazer com que a propria classe Teste implementasse a interface
> >Runnable, colocando o metodo run() dentro da classe Teste (isto ateh
> >funcionou, mas naum resolveu o meu problema, pois eu preciso que a minha
> >aplicação atualize o JLabel com conteudos obtidos de diferentes Threads
> >- uma Thread para relogio, uma Thread para avisar do salvamento
> >automatico de um arquivo, uma Thread para avisar que chegou e-mail etc)
> >
> >Portanto, estou precisando de ajuda pois estah ficando frustrante naum
> >conseguir resolver um problema aparentemente simples como este.
> >
> >Agradeco antecipadamente qualquer auxilio !
> >

Esta foi a  aprimeira opcao ! No entanto, dentro do metodo atualizaLabel() o
repaint() nao surtiu efeito algum.

[]s e ate depois !
------------------------------------------------------------------
VITOR BRANDI JUNIOR - email: [EMAIL PROTECTED]
FCTI - Faculdade de Ciencia e Tecnologia da Informacao
UNIMEP - Universidade Metodista de Piracicaba
End: Rod. do Acucar, km 156 - Piracicaba/SP - Cep: 13400-901
Fone: 02119 4301689 - URL: http://www.cce.unimep.br/pessoais/vitor
------------------------------------------------------------------


    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
    [dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------

Responder a