本文介紹了在SWT中使用線程的進度欄的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
在我的SWT應用程序中,我希望使用進度條(org.eclipse.swt.widgets.ProgressBar)
我找到了一些例子,但是不能理解我需要執(zhí)行后臺任務的正確的流程和用法,我在算法階段被暫停了,因為我可以分析應該有兩個線程,一個用于后臺作業(yè),另一個用于進度欄,兩者都應該同時執(zhí)行,我不知道這是如何實現(xiàn)的,我找到了很多例子,但是,我很困惑我應該把我的后臺任務代碼(仍在搜索)放在哪里。有人能提供適合我的示例嗎?
推薦答案
您是否從SWT ProgressBar snippets頁看到update a progress bar (from another thread)?它解釋了很多。
ProgressBar
必須是異步的才能在每個GUI框架中正常工作。它工作是在主(GUI)線程上獨立顯示一些值。因此,您必須編寫自己的線程,它將維護ProgressBar,解析它的當前值,并顯示值的變化(根據(jù)小部件本身呈現(xiàn)進度)。
在Swing中,您不必為ProgressBar創(chuàng)建您自己的線程,因為該類已經(jīng)實現(xiàn)了上面建議的行為(使其本身成為另一個線程,并為您管理工作)。但由于SWT依賴于平臺(以及其他原因),您必須自己管理它。
這篇關(guān)于在SWT中使用線程的進度欄的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,