<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 91短视频免费在线观看| 亚洲色图在线观看| 久久久久久久91精品免费观看| 国产亚洲福利精品一区二区| 亚洲一区电影在线观看| 亚洲精品中文字幕无码蜜桃| 国产裸模视频免费区无码| 91免费播放人人爽人人快乐| 国产精品偷伦视频观看免费 | 精品亚洲视频在线| 亚洲国产精品久久网午夜| 亚洲乱色熟女一区二区三区丝袜| 国产高清免费观看| 国内一级一级毛片a免费| 黄在线观看www免费看| 无码囯产精品一区二区免费| 中文字幕的电影免费网站| 看成年女人免费午夜视频| 亚洲第一成年网站视频| jlzzjlzz亚洲jzjzjz| 亚洲成人在线电影| 久久精品国产亚洲av麻豆| 亚洲午夜福利AV一区二区无码| 亚洲精品无码日韩国产不卡?V| 国产hs免费高清在线观看| 午夜免费福利在线| 啦啦啦www免费视频| 成人免费视频网址| A在线观看免费网站大全| 亚洲一区二区三区免费在线观看| 99蜜桃在线观看免费视频网站| 日韩精品无码免费专区网站 | 香蕉高清免费永久在线视频| 中文字幕无码免费久久99| 韩国免费一级成人毛片| av免费不卡国产观看| 嫖丰满老熟妇AAAA片免费看| 成人无码区免费A片视频WWW | 亚洲区视频在线观看| 亚洲中文无码av永久| 亚洲国产成人无码av在线播放|