剛開始學習java的時候,就被swt中的執行緒打敗了,搞的我是從此以後就沒有用過swt。在做java桌面應用程式開發的時候,一直用的swing,雖然說初始的介面醜陋了一些,但是經過優化以後,還是蠻漂亮的。不過swt的應用一直是我的一塊心病。難道swt就真的不能在非swt的執行緒中呼叫?不可能這麼弱吧。不過後來確實一直沒有時間研究了。今天稍微空閒了,沒事在網上找些開源專案來研究,收穫不錯,發現很多挺有用的開源資料,然後又開始弄那個swt的多執行緒(想想時間過得好快呀,距離上一次玩swt已經整整一年了)。最後,終於在google強大的力量下,swt被我完美征服。
原來,處於執行緒安全考慮,非swt執行緒是無法直接訪問swt執行緒的,需要非同步呼叫方法來訪問,就像c#中winform的開發一樣,需要用託管方法來訪問是相同的道理。
但是要訪問也不難,多加兩行**:
display.getdefault().asyncexec(new runnable()
});
swt裡面的執行緒處理
packageswt importorg.eclipse.swt.swt importorg.eclipse.swt.events.selectionadapter importorg.eclipse.swt.events.selectionevent importorg.eclipse.swt.l...
SWT多執行緒 關於非UI執行緒操作UI執行緒(二)
隨後需要在乙個新開啟的視窗後啟動乙個執行緒讀取乙個物件並按秒重新整理介面顯示。仍然使用非同步執行緒實現。方法為 1 建立乙個執行緒 public class testthread extends thread public void run catch exception e display.asy...
SWT的標籤控制項
文字標籤 label label1 new label shell,swt.none label1.settext 這是文字標籤 分割線標籤 label label2 new label shell,swt.separator swt.vertical swt.shadow etched out 分...