Hallo zusammen,
ich experimentiere gerade mit SWING und habe ein Tutorial durchgeklickt und versuche nun das zu erweitern.
Das Ziel ist, dass ich den Text des Start-Button ändere in „Stop“ (was auch funktioniert), dann versuche ich beim nächsten Klicken des gleichen Buttons den Timer zu stoppen – und das funktioniert nicht.
Ich habe schon versucht mit RemoveActionHandler und Timer.stop zu arbeiten, habe aber keinen Erfolg.
Wäre super, wenn mir jemand einen Tipp hätte, was ich falsch mache.
Danke und Gruß
Markus
Mein Quellcode:
ich experimentiere gerade mit SWING und habe ein Tutorial durchgeklickt und versuche nun das zu erweitern.
Das Ziel ist, dass ich den Text des Start-Button ändere in „Stop“ (was auch funktioniert), dann versuche ich beim nächsten Klicken des gleichen Buttons den Timer zu stoppen – und das funktioniert nicht.
Ich habe schon versucht mit RemoveActionHandler und Timer.stop zu arbeiten, habe aber keinen Erfolg.
Wäre super, wenn mir jemand einen Tipp hätte, was ich falsch mache.
Danke und Gruß
Markus
Mein Quellcode:
Java:
private void startButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// startButton.setEnabled( false );
final long start = System.currentTimeMillis();
final long end = start + minutesSlider.getValue() * 60 * 1000;
final Timer timer = new Timer(100, null );
timer.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent e ) {
long now = System.currentTimeMillis();
if ( now >= end )
{
remainingMinLabel.setText( "" );
startButton.setEnabled( true );
JOptionPane.showMessageDialog( null, "BING!" );
timer.stop();
}
else
remainingMinLabel.setText( (end - now) / 1000 + " Sekunden");
}
} );
if (startButton.getText().equals("Start") )
{
timer.start();
startButton.setText("Stop");
}
else
{
remainingMinLabel.setText( "" );
JOptionPane.showMessageDialog( null, "STOP!" );
timer.stop();
startButton.setText("Start");
}
// startButton.setEnabled( true );
}