程序運行后要在后臺進行長時間的數據庫操作, 等待網絡連接等,同時將進度欄顯示在界面上。
如果不這么做的話,將操作和GUI寫在同一線程內,一旦程序運行了,界面就不能在有任何鼠標點擊或者切換的操作系統的其它文件夾在回來,否則界面就死掉了。
其實,當SWT程序中有比較耗時的操作時,應該把耗時的操作抽取出來,啟動一個線程去單獨執行,再在這個線程中獲取界面實例并修改其界面信息,在此,SWT提供了syncExec(Runnable)方法。
我的CODE:




















|
||||||||||||||||||||||||||||||||||
程序運行后要在后臺進行長時間的數據庫操作, 等待網絡連接等,同時將進度欄顯示在界面上。 如果不這么做的話,將操作和GUI寫在同一線程內,一旦程序運行了,界面就不能在有任何鼠標點擊或者切換的操作系統的其它文件夾在回來,否則界面就死掉了。 其實,當SWT程序中有比較耗時的操作時,應該把耗時的操作抽取出來,啟動一個線程去單獨執行,再在這個線程中獲取界面實例并修改其界面信息,在此,SWT提供了syncExec(Runnable)方法。 我的CODE:
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
||||||||||||||||||||||||||||||||||