Diskuze: Timer v pozadí
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
No, šlo by to udělat i takto:
int a = 0;
Timeline timer = new Timeline(new KeyFrame(Duration.seconds(1), new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
a++;
zkontroluj(a);
}
}));
timer.setCycleCount(Timeline.INDEFINITE);
timer.play();
a pak metoda, která bude vyhodnocovat čas
private void zkontroluj (int cas)
{
if(a<=10)
//vypíšeš třeba počet zbývajících sekund
else
//deaktivuješ tlačítko
}
Lze použít třídu javax.swing.Timer.
Při prvním kliknutí se spustí Timer. Po uplynutí požadované doby se
zavolá listener, v kterém se zakáže tlačítko.
Příklad:
final JButton tlacitko = new JButton();
tlacitko.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (pocet == 0) {
Timer timer = new Timer(10000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
tlacitko.setEnabled(false);
}
});
timer.start();
}
}
});
Zobrazeno 4 zpráv z 4.