Problema com Thread.sleep()

7 respostas
R

ola amigos… eu tenho um botao que executa o seguinte codigo :

labelIni1.setVisible(false);
 labelIni2.setVisible(false);
 labelIni3.setVisible(false);
 buttonIni.setVisible(false);
 abelNum.setVisible(true);					
 labelNum.setText("+");
 					
 try {
 	Thread.sleep(500);
 } catch (InterruptedException e1) {
 	e1.printStackTrace();
 }
 labelNum.setText("0");

pois bem… o problema eh q qdo ele executa o codigo, ele espera 500 mspra depois tirar os labelIni 1, 2 e 3 e o botao da tela, e ja mostrar o labelNum com o 0 impresso… qdo eu queria que ele imprimisse o + e depois de 500 ms imprimisse o 0… alguem ai sabe como arrumar isso??
vlw

7 Respostas

R

ai galera, eu consegui… eu fiz assim:

labelIni1.setVisible(false);
labelIni2.setVisible(false);
labelIni3.setVisible(false);
buttonComecar.setVisible(false);
labelNum.setVisible(true);					
labelNum.setText("+");					
									
Runnable wait = new Runnable() {
        public void run() {  
	      try {
		      Thread.sleep(500);
	      } catch (InterruptedException e1) {
		       e1.printStackTrace();
	      }    
	
	       labelNum.setText("0");
        }
};
SwingUtilities.invokeLater(wait);

mas agora to com outro problema… depois de executar esse codigo, o objetivo eh que o usuario pressione a barra de espaço assim que o numero 0 apareça na tela, mas eu percebi que, dedpois de executar esse codigo o meu programa nao reconhece mais o teclado, soh reconhece se minimizar e depois maximizar de novo o programa… alguem sabe por que isso acontece???

C

tu vai ter que ter + duas threads ai, uma pra controlar a leitura do seu teclado, e outro pra controllar as suas primeiras threads!

R

como q eu faria isso?

R

poxa, ninguem pode me ajudar?

D

acho q eh pra vc criar outra thread igual a q vc ja fez e ai acho q uma forma legal de trocar informações entre elas eh utilizar singleton (instancia estatica de uma classe).

R

o problema eh q to começando a aprender a usar threads agora… entao nao sei como eu faço pra criar uma thread pra controlar a leitura do teclado, e nem oq eh singleton.
vlw

C

Então será que não esta na hora de tu dar uma pesquisada sobre o assunto :?:

Criado 19 de junho de 2006
Ultima resposta 27 de jun. de 2006
Respostas 7
Participantes 3