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] ---------------------------------------------------------------------