posts - 495,  comments - 11,  trackbacks - 0
          SWT

          ?????? SWT-"Standard Widget Toolkit",它是一個Java平臺下開放源碼的Native GUI組件庫,也是Eclipse平臺的UI組件之一。從功能上來說,SWT與AWT/SWING是基本等價的。SWT以方便有效的方式提供了便攜式的(即Write Once,Run Away)帶有本地操作系統觀感的UI組件。
          ?????? 由于widget系統的固有復雜性以及平臺之間微妙的差異,即使在理想情況下,能夠達到工業標準的跨平臺的widget類庫也是很難編寫和維護的。最早的AWT組件現在被認為是樣貌丑陋的,而且存在很多問題;SWING組件雖然也是缺點多多,但是隨著JDK版本的不斷升高,它仍在不斷進行著改進。我認為,SWT在功能上與AWT/SWING不相伯仲,但是組件更為豐富,平臺表現穩定,BUG也相對較少。如果你的應用程序真的需要在多個平臺上運行,需要更為美觀的界面,又不那么依賴于其他基于AWT/SWING的圖形庫,那么SWT或許是一個比AWT/SWING更好的選擇。

          =========================================

          為什么要使用SWT?

            SWT是一個IBM開發的跨平臺GUI開發工具包。至于IBM費勁自己另起爐灶開發一個GUI工具包,而不是使用Sun有的由AWT, Swing, Java 2D, Java 3D等構成的Java GUI框架,那就話長了。(得在一個BBS讀過一個SWT起源的調的帖子)。

            在SWT之前,Sun提供了一個跨平臺GUI開發工具包AWT (Abstract Windowing Toolkit)AWT框架也使用的是原生窗口部件(native widgets),但是它一直未能突破LCD問題LCD問題導致了一些主要平臺特征的失。如果你不明白的(其我也沒明白),話說,如果平臺A有窗口部件(widgets1–40,而平臺B有窗口部件(widgets20–25,那跨平臺的AWT框架只能提供兩個窗口部件集的交集。

            解決問題Sun建了一個新的框架。個框架不再使用原生窗口部件,而是使用仿真窗口部件(emulated widgets)。個方法然解決了LCD問題,并且提供了豐富的窗口部件集,但是它也來了新的問題。例如,Swing用程序的界面外不再和原生用程序的外相似。 然在JVMSwing用程序已得到了最大程度的性能改善,但是它們還是存在著其原生對應物所不具有的性能問題。并且,Swing用程序消耗太多的內存,這樣Swing不適于一些小設備,如PDA和移動電話等。

            IBM行了嘗試底解決AWTSwing框架來的上述問題。最IBM建了一個新的GUI就是SWTSWT框架通JNI訪問原生窗口部件。如果在宿主(host)平臺上無法找到一個窗口部件,SWT就會自地模它。

          =====================================

          Tags:java,rcp,jface,swt,ibm,eclipse,ui,gui

          posted on 2007-11-27 15:04 jadmin 閱讀(85) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 彰化市| 太仆寺旗| 依安县| 寻甸| 平顺县| 邹平县| 邯郸市| 仁寿县| 农安县| 隆回县| 浠水县| 广河县| 英吉沙县| 邵阳市| 永丰县| 安丘市| 临澧县| 公主岭市| 东山县| 门头沟区| 四子王旗| 南郑县| 通许县| 西乌| 纳雍县| 石台县| 德格县| 象山县| 额敏县| 泗洪县| 定西市| 西丰县| 于田县| 运城市| 韶关市| 郴州市| 红原县| 长顺县| 渝中区| 宁德市| 友谊县|