| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/04/2007 20:47:10
|
rafaelmotaprevidi
HelloWorld
Membro desde: 27/05/2006 00:21:35
Mensagens: 14
Offline
|
Boa noite colegas,
sou novo no mundo do Java e estou tendo um problema para atualizar dados de um JLabel. Eu estou com um JFrame que é utilizado como interface para inserir dados ( por exemplo url do B.D., Usuário e senha do B.D.) para fazer um processo de ETL. Nesse JFrame tbm tenho um botão que irá criar um objeto de uma outra classe que realmente fará a extração dos dados. Quando o botão for clicado eu gostaria que um JLabel (lblStatus) que funciona como barra de status atualizasse com algumas informações sobre o andamento da extração, porém essa atualização está ocorrendo somente ao final da extraçãom, ou seja, a execução método setText que deveria atualizar o lblStatus no ínicio do método não me apresenta nada na tela. Gostaria de saber o que eu tenho que fazer para a instrução setText do JLabel execute antes da extração para dizer ao usuário que a extração começou. O código é apresentado abaixo:
Valeu!!!!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 00:54:37
|
fabiel
JavaEvangelist
![[Avatar]](/images/avatar/197cec18dff201ab4d1966879423f50b.jpg)
Membro desde: 26/05/2006 14:38:01
Mensagens: 373
Localização: Floripa
Offline
|
cara vc ja tentou colocar isso logo apos a criação do objeto
|
Bacharelado em Ciências da Computação.
JavaEE/RIA developer
www.fabielprestes.com.br
Espero ter ajudado !
abcs |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 12:23:38
|
rafaelmotaprevidi
HelloWorld
Membro desde: 27/05/2006 00:21:35
Mensagens: 14
Offline
|
Oi Fabiel,
eu já tentei isso, porém sem sucesso. Será que eu poderia fazer alguma outra coisa? Por favor me ajudem. Agradeço desde já se vcs me ajudarem.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 18:13:02
|
mister__m
Virtual Machine Man
![[Avatar]](/images/avatar/89b9c689a57b82e59074c6ba09aa394d.jpg)
Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline
|
Rafael,
Você precisa entender um pouquinho mais de Swing e threads para fazer isso. Todos os eventos do Swing são tratados em uma única thread, a EventDispatchThread, vulga EDT. Essa thread é que faria a atualização do JLabel, mas ela está ocupada com o seu processo ETL.
Você precisa executar o ETL em uma outra thread e atualizar o JLabel na thread do Swing. Algo como:
|
Michael Nascimento Santos, aka Mister M
Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/04/2007 13:14:02
|
rafaelmotaprevidi
HelloWorld
Membro desde: 27/05/2006 00:21:35
Mensagens: 14
Offline
|
Bom dia Michael,
Obrigado!!! Valeu mesmo, funcionou. Eu havia tentado colocar só as rotinas de ETL numa thread separada, mas não deu certo pq a thread da minha classe Main rodava (que roda na EDT) junto com a nova thread que estava rodando e a atualização acontecia tão rápido que sempre aparecia "Detecção concluída com sucesso". Eu sei que nunca que eu ia saber tão rápido que eu tinha que criar uma nova thread dentro da própria thread da minha classe Main. Vou dar uma estudada nesses assuntos que eu meio que deixei de lado, por achar não muito necessários. Mais uma vez obrigado!!!
|
|
|
 |
|
|