[英]Stop a timer with a button
我有一個啟動按鈕,可以循環啟動計時器。
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);
}
我還有另一個“停止”按鈕。 目前,我正在通過中斷循環並獲取異常來停止循環。 顯然這不是正確的過程,並且還會停止啟動按鈕的工作。
public synchronized void stopTourButtonActionPerformed(java.awt.event.ActionEvent evt){
count = -1;
}
我的問題是如何正確停止它,以便以后可以重新啟動?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.