Como criar uma metodo que espere 4 segundo e depois execute

Ola pessoa
estou com a seguinte dificuldade tenho uma aplicação desktop nesta aplicação tenho algumas telas de cadastros na qual emitir algumas mensagem exemplo " Cliente salvo com sucesso". a forma que pensei de mostra essas mensagem foram através de uma jLabel na qual seto a mensagem para ela so que existem mensagem que se preciso de um intevalo de tempo para aparece a outra cerca de pelo menos 3 segundo para o usuario percebe a mudança de mensagem. o dificil e ai como faço para que toda vez que fo mostra uma mensagem limpe o campo e espere esse tempo.

mais ou menos assim:

private void mostraMensagem(String msg)
{
jLabel1.setText("");
espere 3 segundo e
jLabel.setText(msg);
}

mostraMensagem(“Dados do cliente atualizados com sucesso”);

Thread.

// 3 segundos
Thread.sleep(3000);

Resolve?

Use o método do sleep(), da classe thread.

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Thread.html

private void mostraMensagem(String msg) { jLabel1.setText(""); thread.sleep(4000); //4000 milissegundos ; 4 segundos. jLabel.setText(msg); }

No .NET existe um componente chamado timer que você pode usar o evento Tick dele…
Não sei se existe algo parececido em Java…
Apenas Threads como o colega citou…

Não teria que implementar um Thread para usar o sleep??
Ou ele dá sleep no fluxo de dados principal?

[quote=fernandosavio]Não teria que implementar um Thread para usar o sleep??
Ou ele dá sleep no fluxo de dados principal?[/quote]

Não, não precisa implementar. É só chama-lo normalmente, apenas com a java.lang. A única coisa que você precisará será do try/catch. Por exemplo:

public class MyClass{ public static void main(String args[]){ 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); } } }

Noooossa!
É uma informação bem simples mas eu não conhecia!
Obrigado pela informação!

Não precisa porque esse é um método static da classe Thread.