<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,  comments - 11,  trackbacks - 0
    Eclipse 是一個通用工具平臺。它是一個開放的、可用于任何東西的可擴展 IDE,它為工具開發人員提供了靈活性以及對軟件技術的控制能力。Eclipse 為開發人員提供了生產大量 GUI 驅動的工具和應用程序的基礎。而這項功能的基礎就是基于GUI庫 的SWT 和 JFace。

    SWT(Standard Widget Toolkit)本身僅僅是Eclipse組織為了開發Eclipse IDE環境所編寫的一組底層圖形界面 API。或許是無心插柳,或許是有意為之,至今為止,SWT無論在性能上還是外觀上,都超越了Sun公司提供的AWT和Swing。

    概述

    SWT(Standard Widget Toolkit)是Eclipse中的窗口小部件工具箱,它是一組窗口組件的實現,并能底層操作系統圖形用戶界面平臺緊密集成。另外,SWT定義了所有受支持平臺上的公共可移植API,并盡可能地使用本機窗口小部件在每個平臺上實現該API,這允許SWT在所有平臺上維護一致的編程模型,且能立即反映底層操作系統圖形用戶界面外觀中的任何更改。

    JFace用來在 SWT 庫頂部提供常見的應用程序用戶界面功能。JFace并不試圖“隱藏”SWT 或者替換它的功能。它提供一些類和接口,用來處理SWT對動態用戶界面相關聯的常見任務。

    SWT/JFace是Eclispe的基礎,Eclipse的Workbench就是建立在SWT/JFace之上的。另外,JFace是在SWT之上開發的,它和SWT形成一個交集,其中SWT提供最原始的組件,如圖1所示。


    圖1 SWT/JFace和Workbench的關系


    JFace對SWT進行了擴展,把用戶熟悉的一些組件進行了封裝,在開發中用戶可以盡可能地用JFace組件來開發自己的應用。JFace程序和SWT程序類似,只不過JFace把常用的功能進行了提煉,使用戶不必太關心SWT的一些細節。

    提示:SWT提供了一套API,它因為Eclipse而生,但它完全可以脫離Eclipse而存在。

    基本特性

    SWT是一個套庫函數,它創建了Java 版的本地操作系統 GUI 控件。它依賴于本機實現,這意味著基于SWT的應用程序具有以下幾個關鍵特性。

    ? 它們的外觀、行為和執行類似于“本機”應用程序。
    ? 所提供的窗口小部件(Widget)反映了主機操作系統上提供的窗口小部件(組件和控件)。
    ? 主機 GUI 庫的任何特殊行為都在 SWT GUI 中得到反映。

    這些目標使得 SWT 不同于 Java 技術的 Swing,Swing 的設計目標是消除操作系統的差異。SWT 庫反映了主機操作系統的基本窗口小部件,JFace 庫有助于向 SWT 應用程序中添加大量服務,SWT 最重要的擴展之一是將應用程序的數據模型與顯示及更改它的 GUI 隔離開來。

    SWT中有如下一些基本的組件:
    1. Widget:基本的 SWT GUI 組件(類似于 Java AWT 中的 Component 和 Swing 中的 JComponent),Widget 是一個抽象類。
    2. Control:擁有操作系統的對等物的窗口小部件,Control 是一個抽象類。
    3. Composite:包含其他控件的控件(類似于 Java AWT 中的 Container 和 Swing 中的JPanel)。
    4. Item:其他控件包含的窗口小部件(該控件可能是復合控件),如列表和表。Item 是一個抽象類。
    這些窗口組件(或小部件)被安排在繼承層次結構中。其中Widget是底層的類,繼承關系如圖2所示。


    圖2 Widget類的繼承關系


    幾乎所有SWT GUI都是從某些基礎部分開始創建的。所有SWT窗口組件都可以在 org.eclipse.swt.widget 或 org.eclipse.swt.custom 包中找到(一些Eclipse插件還在其他包中提供了定制的窗口組件)。窗口組件包中包含一些基于操作系統控件的控件,而定制包中則包含一些超出操作系統控件集之外的控件。一些定制的軟件包控件類似于窗口小部件包中的控件。為了避免命名沖突,定制控件的名稱都是以“C”開始的(例如,比較 CLabel 與 Label)。

    在SWT中,所有控件(除了一些高級控件,比如 shell)在創建的時候都必須有一個父控件(一個復合實例)。在創建的時候,這些控件被自動“添加”到父控件中,這與必須明確添加到父控件中的 AWT/Swing 中的控件有所不同,自動添加產生了一種“自上而下”地構造GUI的方法。這樣,所有控件都可以采用一個復合父控件(或者一個子類)作為構造函數的參數。

    大多數控件都有一些必須在創建時設置的標記選項,因此大多數控件還有另外一個構造函數參數,通常稱為樣式或風格,該參數提供了設置這些選項的標記。所有這些參數值都是 整型常量,并且都是在 org.eclipse.swt 包的 SWT 類中定義的。如果不需要任何參數,則可以使用 SWT.NONE 值。

    提示:創建一個組件通常有兩個參數,第一個為父組件,第二個組件的顯示樣式,例如:“Button button = new Button(shell, SWT.RADIO);”。

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

    posted on 2008-05-04 18:28 jadmin 閱讀(89) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 美丽的姑娘免费观看在线播放| 香蕉免费看一区二区三区| 免费国产黄网站在线观看 | 无码永久免费AV网站| 亚洲精品日韩中文字幕久久久| 91精品国产免费| 亚洲欧洲自拍拍偷午夜色| 97av免费视频| 亚洲一级在线观看| 特级做A爰片毛片免费69| 亚洲熟妇无码八V在线播放| 四虎免费大片aⅴ入口| 色网站在线免费观看| 国产午夜亚洲精品理论片不卡| 91国内免费在线视频| 久久久久亚洲AV无码专区体验| 巨波霸乳在线永久免费视频| 亚洲天堂2016| 又黄又爽一线毛片免费观看| 4hu四虎免费影院www| 久久精品国产亚洲AV高清热| 大地资源免费更新在线播放| 美女扒开尿口给男人爽免费视频| 亚洲熟伦熟女新五十路熟妇| 久久成人免费大片| 亚洲熟女综合一区二区三区| 亚洲午夜精品久久久久久浪潮| 久久免费看少妇高潮V片特黄| 亚洲国产精品综合久久20| 国产成人综合久久精品免费| a毛片免费观看完整| 久久精品国产亚洲AV蜜臀色欲| 四虎影视永久免费观看| 在线毛片片免费观看| 亚洲人成色77777在线观看| 亚洲国产91精品无码专区| 免费A级毛片无码A∨| 亚洲国产AV无码一区二区三区| 亚洲中文字幕无码一区二区三区 | 色偷偷亚洲第一综合| 久久精品国产亚洲av成人|