2011-07-12 45 views
2

可能遇到的主要區別是什麼?應用程序設計有什麼重大差異?線程模型?你如何構建GUI? Swing中沒有的任何SWT功能?有經驗的Java SWT程序員在轉向Swing時應該注意什麼?

+0

http://www.ibm.com/developerworks/grid/library/os-swingswt/和谷歌返回的其他網站 – mKorbel

+1

我的主要建議:不要尖叫太多。 SWT在過去的10年裏有所提升,而Swing則沒有。 –

回答

5

從我的Swing和SWT之間的經驗

  • 搖擺的渲染是有點慢(我的經驗),很少發現和使用更多的內存
  • 機的外觀可能只是部分地(取決於所選look'n'feel)
  • 大多數Swing組件的莫名其妙實現MVC模式(所以你不必讓自己的數據綁定)
  • 這是可能的子類成分,當你不得不改變一些組件的行爲,它是用來(所以它經常使用)
  • 搖擺發送程序生成的事件(我討厭這種行爲;])
  • 在Swing您不必調用(a)syncExec()方法(您不必在意SWT中更新GUI的線程,但請務必閱讀Swing threading policy (end of page)Concurrency in Swing
  • Swing (SWT相比)
  • 沒有更多dispose()方法;]
  • 擺在貨櫃(見BorderLayout),並在基礎different layout managers(使用MigLayout,這對Swing和SWT的很好,沒有競爭對手)
  • 你不必知道你的組件父標準佈局管理器實例的創建,但你必須給你。新增的父(容器)(C成分)方法
  • Swing是不依賴於平臺(不多多建立每個平臺和X32/X64)
  • Swing有其自身的缺陷(作爲其他技術,這是不可避免的)
+1

Swing組件是**不是**線程安全的。所有的GUI更新應該從Event Dispatch Thread完成。 – Jonas

+0

只需添加Swing具有更多組件,就可以比SWT定製更多(您可以製作更漂亮的GUI)。 – Zemzela

+0

你是對的,我的壞的公式..我會編輯它.. – Sorceror

相關問題