如何讓系統每5秒自動運行一個方法。因爲這個框架不是焦點,它可以是一個焦點的JDialog,所以這個過程可以被執行? 謝謝!關於線程邏輯的問題
回答
使用搖擺Timer
。創建一個,爲它添加一個動作偵聽器,然後啓動它,並定期調用動作偵聽器。例如:
Timer timer = new Timer(500);
timer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
// this runs every 500 milliseconds
}
}
timer.start()
該定時器對象是否正確地將UI更新發送到EVT? –
不需要。您需要使用'SwingUtilities.invokeLater'。 – tbodt
@tbodt「雖然所有計時器都使用一個共享線程(由執行的第一個Timer對象創建)執行其等待,但是計時器的動作事件處理程序在另一個線程(即事件分派線程)上執行,這意味着動作Timers的處理程序可以安全地對Swing組件執行操作,但這也意味着處理程序必須快速執行以保持GUI的響應。「 (http://docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html) –
您可以產生一個新的線程並讓它在循環中休眠5秒鐘。
但是如果你有更復雜的需求,你寧願去一個像Quartz這樣的調度庫(Spring也有一個)。 因爲你不想產生100個線程,所有睡眠5秒,但你寧願有1個調度程序線程觸發多個工作線程。
不可以。添加石英在這樣一個小而集中的任務中沒有意義。計時器在這裏更合適 –
@DavidHofmann這就是爲什麼我說「如果你有更復雜的需求」:) –
- 1. 關於線程的問題
- 2. 關於線程的問題
- 3. Java多線程服務器邏輯,同步關鍵字,問題
- 4. PHP流程邏輯問題
- 5. 編程邏輯問題
- 6. 用邏輯條件發現問題的關鍵在於哪個邏輯集合
- 7. 邏輯問題
- 8. 邏輯問題
- 9. 邏輯問題
- 10. 邏輯問題
- 11. 邏輯問題
- 12. 與語言無關的邏輯問題
- 13. 有關邏輯問題的幫助
- 14. 線性時態邏輯問題
- 15. 多線程邏輯
- 16. 關於階乘因子的邏輯問題
- 17. 需要關於邏輯問題的幫助
- 18. 關於邏輯,情報和和解的問題
- 19. 邏輯問題 - GWT
- 20. PHP邏輯問題
- 21. JavaScript邏輯問題
- 22. C++邏輯問題
- 23. Pygame邏輯問題
- 24. Android邏輯問題
- 25. C++邏輯問題
- 26. clearInterval邏輯問題
- 27. Javascript邏輯問題
- 28. C#邏輯問題
- 29. Java邏輯問題
- 30. 關於集合的多線程問題
你試過了什麼?爲什麼它沒有工作?當你有一個更具體的問題時,而不是當你想要類似教程的指導時,Stackoverflow最適合你的工作 –
你有什麼困難? –
我不知道系統是否會在框架中運行這個過程?原因我需要該過程繼續完成,因爲用戶使用系統的其他框架。 – Rafael