2011-09-03 53 views
1

在我的SWT應用程序我想用一個進度條(org.eclipse.swt.widgets.ProgressBar) 我發現的例子,但無法理解的正常流動和使用,我需要執行後臺任務,我在算法階段暫停,就像我可以分析,應該有兩個線程一個用於後臺工作,另一個進度條都應該同時執行,我無法弄清楚這個實現,我發現了大量的例子但是,我很困惑我應該在哪裏放置我的後臺任務代碼(仍在搜索)。任何人都可以提供適合我的示例示例。進度使用線程在SWT

回答

4

您是否看到update a progress bar (from another thread)來自SWT ProgressBar snippets的頁面?它解釋了很多。

ProgressBar必須是異步的才能在每個GUI框架中正常工作。它的工作是在主(GUI)線程上獨立顯示一些值。所以你必須編寫你自己的線程,它將維護ProgressBar,解析它的當前值並顯示值的變化(由Widget本身渲染進度)。

在Swing中,您不必爲ProgressBar創建自己的線程,因爲該類已經實現了上層建議的行爲(使自己成爲另一個線程併爲您管理工作)。但是因爲SWT是依賴於平臺(和其他原因),所以你必須自己管理它。