Hej! Jestem przy końcu pisania małego programu, który zawiera Timer. Timer jest podpięty do przycisku który go wywołuje. Problem jest taki, że Timer przy kolejnych klikach w button tak jakby wywołuje się ponownie ale poprzedni nie zatrzymuje się(czyli odlicza dwa razy szybciej czas). Siedziałem nad tym wczoraj dość długo i nie mogłem nic na to zaradzić.
Tak to wygląda w kodzie:
//button
btn1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
time=60;
setTimer();
}
} );
//metoda setTimer
public void setTimer() {
final Timer t = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
time--;
timerLabel.setText(format(time / 60) + ":" + format(time % 60));
if (time == 0) {
final Timer tt = (Timer) e.getSource();
timerLabel.setText("--:--");
tt.stop();
}
}
});
t.start();
Proszę o jakąś wskazówkę ;)