Mas quando executo ele pausa a tela, mas não mostra o label na tela (está executando o setVisible(true), apenas no final do sleep) . Tem alguma maneira de obrigar o programa a primeiro mostrar o componente na tela para depois executar o sleep???
Mmmmm perai. Pelo que eu entendo de thread se voce fizer:
Threadt=newThread();try{t.sleep(5000);...
O sue thread t é que dorme por 5 segundos não sua aplicação. O código deveria passar rapidamente por isso e imediatamente executar o set visible false. (Me corrijam se eu estiver errado).
O que acontece é que você parece não conhecer bem sobre threads java. Você chamou o sleep() sem nem mesmo dar um Thread.start(). O que, ou não faz nada ou lança uma exceção.
Claro que essa solução que dei talvez não seja a melhor (criar uma nova classe para algo simples), mas ela mostra os conceitos de Threads, como start() sleep() etc… Leia o Core Java volume 2 capítulo 1 - Threads. Muito legal e você aprende muito sobre eles.
Qquer dúvida…
Rafael_Steil
Voce pode simplesmente chamar Thread.sleep() diretamente, pois o thread usado sera o da aplicacao. No caso nao funcionou porque a aplicacao nao foi criada usando threads, e por isso que ele primeiro passa os 5 segundos para depois esconder a janela.
A solucao do Mr. Elvis deve funcionar.
Rafael
Elvis.The.Pelvis
Mas se você chamar Thread.sleep() a aplicação não vai travar pelo tempo passdo como parâmetro? Claro que a captação de eventos é uma thraed a parte, mas não sei se rola assim não. è válido para um abom teste não acham?
Rafael_Steil
Sim, ela vai travar.
Rafael
richardpeder
O problema eh que vc esta colocando a thread para dormir antes de dar start nela…faz assim:
Threadt=newThread();t.start();//coloca os comandos que quisert.sleep(5000);
Espero ter ajudado…
Elvis.The.Pelvis
Richard, essa solução não funciona. Veja bem, o Thread que “dorme” é o que você criou. O thread da aplicação continua executando normalmente.
richardpeder
Então desconsiderem minha resposta, caso esteja mesmo errada… :lol:
Testei todas as possibilidades que vocês me deram, e gostaria de repassar, para caso alguém esteja com o mesma dúvida, que a solução fornecida pelo anjo mal funcionou 100%.
Por isso caso alguém esteje procurando a solução de um problema similar ao meu recomendo se passear no exemplo colocado por ele.