Como usar a função sleep

Olá pessoal.
Estou com muita dificuldade em um projeto porque preciso fazer um menu em cascata.
Na verdade eu preciso q qndo eu clicar em um botão aparecer logo abaixo dele outros botões em sequencia determinado por um espaço de tempo.
Será q alguém consegue me ajudar.

O uso do método sleep() funciona da seguinte forma:

Thread.sleep(milisegundos);

Dê uma olhada:
http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Thread.html#sleep(long)

Certo … isso eu consigo fazer … so q dessa maneira todos os meus botoes aparecem juntos dpois do espaço de tempo…
sendo q o q eu preciso eh q apareça um de cada vez .

Não sei ao certo como deixar o botão “invisível”, mas seria algo em torno disso:

Thread.sleep(500); //500 milisegundos jButton1.setBorderPainted(false); Thread.sleep(800); //800 milisegundos jButton2.setBorderPainted(false); Thread.sleep(1000); //1000 milisegundos jButton3.setBorderPainted(false);

Eu estava tentando dessa maneira antes di receber a resposta anterior … mas ta dando um erro.
o Thread.sleep tem q ter um try/catch ?

[quote=vebas]Eu estava tentando dessa maneira antes di receber a resposta anterior … mas ta dando um erro.
o Thread.sleep tem q ter um try/catch ?[/quote]
Sim. A assinatura do método sleep: public static void sleep(long millis) throws InterruptedException exige isso.

Sendo assim então eu tenho q criar o metodo anteriormente e chamá-lo a cada vez q eu precisar.

[quote=vebas]Eu estava tentando dessa maneira antes di receber a resposta anterior … mas ta dando um erro.
o Thread.sleep tem q ter um try/catch ?[/quote]

exato.

try{ System.out.println("Hello #1"); Thread.sleep(500); System.out.println("Hello #2"); Thread.sleep(800); System.out.println("Hello #3"); Thread.sleep(1000); System.out.println("Hello #4"); } catch (InterruptedException ex) { System.out.println(ex); }

Obrigado pela ajuda.
Mas mesmo assim os botões não estaum aparecendo em sequencia . estão aparecendo todo de uma so vez como ja havia acontecido.

[quote=vebas]Obrigado pela ajuda.
Mas mesmo assim os botões não estaum aparecendo em sequencia . estão aparecendo todo de uma so vez como ja havia acontecido.[/quote]

Que estranho. Experimente aumentar o intervalo entre os milisegundos.

Eu estou usando 500 milisegundos…
e ja usei 750 .sera q eh por isso .?

Tem que aumentar o tempo entre cada uma. 500 ou 750 acho que é muito pouco, vai parecer que eles aparecem todos juntos.

Justamente como disseram acima. Tente colocar, por exemplo, um intervalo de 1500 em cada sleep().

Só pode q está acontecendo alguma coisa com Netbeans q eu uso …
Pois eu segui todas as dicas q vcs me deram e a função sleep não funciona direito.

Provavelmente isso ocorre porque a thread que renderiza os componentes não é a mesma thread que trata os eventos. Assim, mesmo que ocorra os intervalos quando você seta as propriedades dos componentes a renderização vai ocorrer em uma thread separada, que você não controla. Talvez a solução seja criar um componente específico, sobrescrevendo o método paintComponent.