Ich habe eine Starttaste, die einen Timer mit einer Schleife startet.Stoppe einen Timer mit einer Taste
public synchronized void startTourButtonActionPerformed(java.awt.event.ActionEvent evt) {
new java.util.Timer().schedule(new java.util.TimerTask() {
@Override
public void run() {
try {
byte st = presetNo[count];
System.out.println("Start Tour Button pressed, String: " + st);
// this part will run from 0 to max of presets every
// counting.
count++;
if (count >= MaxCount)
count = 0;
byte[] command = { (byte) startTx, address, byteOne, goPreset, 0x00, st, endTx, 0x0F };
TwoWaySerialComm.SerialWriter sw = new TwoWaySerialComm.SerialWriter(
twoWaySerCom.serialPort.getOutputStream());
sw.out.write(command);
}
catch (IOException e) {
e.printStackTrace();
}
}
}, 100, 5000);
}
Und ich habe einen anderen 'Stop' Button. Zur Zeit stoppe ich die Schleife, indem ich sie kaputt mache und eine Ausnahme erhalte. Offensichtlich nicht die richtige Prozedur und stoppt auch den Startknopf von der Arbeit.
Meine Frage ist, wie kann ich es richtig stoppen, damit ich danach neu starten kann?
Mögliche Duplikate von [Wie man einen Timer in Java zu stoppen] (http://stackoverflow.com/questions/33726952/how-to-stop-a-timer-in-java) – karan