Olá pessoal, estou desenvolvendo uma aplicação com swing, onde tenho um botão e quando este botão for clicado eu quero que meu label mostre um tempo de 30 segundos(comece em 30 e vá decrescendo) para o usuário, vi alguns exemplos, mas nao entendi muito bem, alguém poderia me dar uma sugestão? Obrigado.
2 jeitos…
ou usa a classe timer (pesquise sobre esta classe)
ou faça um for recursivo e coloca uma thread.sleep()
Galera, valeu pela informação, dei uma olhada na API e tal, ai eu criei este método
public void labelRefresh(){
final long segundos = 30000;
final long tempo = 1000;
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
lblTempo.setText(Long.toString(segundos-tempo));
}
}, segundos, tempo);
}
chamo ele no evento do meu botão, mas nao esta funcionando =/
Também tentei assim:
Timer t = new Timer();
t.schedule(new TimerTask() {
int i = 30;
@Override
public void run() {
lblTempo.setText(Integer.toString(i--));
}
}, 1000, 1000);
}
mas sem sucesso.