0
我正在使用SWT創建一個java GUI。我目前正在Mac上運行它。 GUI是前臺的過程需要一段時間才能運行(大約70分鐘)。一旦我通過圖形用戶界面開始了這個漫長的過程,我就會得到彩虹旋轉輪,GUI會一直掛起,直到過程完成。有什麼辦法可以解決這個問題嗎?它會涉及在不同的線程上啓動進程嗎?在SWT中滯後顯示
謝謝!
我正在使用SWT創建一個java GUI。我目前正在Mac上運行它。 GUI是前臺的過程需要一段時間才能運行(大約70分鐘)。一旦我通過圖形用戶界面開始了這個漫長的過程,我就會得到彩虹旋轉輪,GUI會一直掛起,直到過程完成。有什麼辦法可以解決這個問題嗎?它會涉及在不同的線程上啓動進程嗎?在SWT中滯後顯示
謝謝!
您必須從未是採取在SWT用戶界面線程運行很長時間的事情。頻繁調用SWT readAndDispatch
方法至關重要。
所以,是的,你必須在後臺線程用於任何長期運行的代碼。
請注意,在後臺線程中運行的代碼無法直接訪問UI控件。您必須使用Display.asyncExec
或Display.syncExec
方法來運行更新UI的代碼。