簡體   English   中英

Stop()當前執行中的計時器

[英]Stop() Timer in currently executing

我在另一個關於swing Timer API和您的方法的問題中看到了偏好stop(); 我的問題是,當前正在執行的計時器是否可以停止(如果util.timer取消)?

我有一個計時器,並且在調用stop()時需要停止線程,即使該線程當前正在運行。

是的,可以通過調用stop()來停止Swing計時器。 這就是為什么此類具有此方法的原因。 說了這么多,我覺得您的問題還有很多,然后您告訴我們。 但是我不知道Swing計時器與“停止線程”有什么關系。

編輯
您聲明:

我的問題是,我有一個擺動計時器,它每30秒執行一次另一個方法,我可以手動執行相同的單個方法,順便說一句,我想在手動方法運行時以及何時停止擺動計時器。手動方法完成后,擺動計時器啟動,因為該計時器可能會妨礙其他方法。 主要是手動方法。

一種可能的解決方案:您可以擁有Swing計時器,但是只需將其大部分代碼封裝在一個由名為runTimer的布爾值控制的if語句中,以便只有在布爾值為true時,計時器的actionPerformed中的代碼才能運行。 然后在SwingWorker中運行后台線程,但在執行SwingWorker之前將runTimer布爾值設置為false,然后在SwingWorker的done()方法中將其設置為true。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM