程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Eclipse中用SWT和JFace開發入門

Eclipse中用SWT和JFace開發入門

編輯:JAVA編程入門知識
  可以使用標准窗口小部件工具箱(Standard Widget Toolkit,SWT)和 JFace 庫來開發用於 Eclipse 環境的圖形用戶界面,而且還可以將它們用於開發單獨的 GUI 本機應用程序。 <!-- frame contents --> <!-- /frame contents --> 在本文中,我將介紹一些基本的 SWT(基本 GUI 對象的名稱)類型,並展示如何綜合使用它們來創建有用的應用程序。
  
  關於 Eclipse、SWT 和 JFace
  
  正如 Eclipse 的 Web 站點上所提到的,Eclipse 是一種通用工具平台。它是一個開放的、可用於任何東西的可擴展 IDE,沒什麼非凡之處,它為工具開發人員提供了靈活性以及對軟件技術的控制。
  
  Eclipse 為開發人員提供了生產大量 GUI 驅動的工具和應用程序的基礎。而這項功能的基礎就是 GUI 庫 SWT 和 JFace。
  
  SWT 是一個庫,它創建了Java 版的本地主機操作系統 GUI 控件。它依靠於本機實現。這意味著基於 SWT 的應用程序具有以下幾個要害特性:
  
  
  • 它們的外觀、行為和執行類似於“本機”應用程序。
  • 所提供的窗口小部件(widget)反映了主機操作系統上提供的窗口小部件(組件和控件)。
  • 主機 GUI 庫的任何非凡行為都在 SWT GUI 中得到反映。
        這些目標使得 SWT 不同於 Java 技術的 Swing,Swing 的設計目標是消除操作系統的差異。
        
        SWT 庫反映了主機操作系統的基本窗口小部件。在許多環境下,這種方法太低級。JFace 庫有助於向 SWT 應用程序中添加大量服務。JFace 並沒有隱藏 SWT,它只是擴展了 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 是一個抽象類。
           這些窗口小部件被安排在繼續層次結構中。參見圖 1、圖 2 和圖 3,了解它們是如何安排的。在圖 2 中,Basic1 類是來自本文的類,而其他所有類都是標准的 SWT 窗口小部件。
          
          圖 1. SWT Widget 樹
          
          
          圖 2. SWT Composite 樹
          
          
          圖 3. SWT Item 列表
          
           
          注重,Eclipse 具有跨平台特性(因此可以在許多操作平台上運行),本文基於 Eclipse 的 Microsoft? Windows? 版本。因此,本文包含的每個例子都應該能夠不加任何更改地在其他平台上使用。還要注重的是,本文是基於 Eclipse V3.0 的。Eclipse V3.1 中添加了少許 GUI 窗口小部件類型和特性。 基本控件
          
          幾乎所有 SWT GUI 都是從某些基礎部分開始創建的。所有 SWT 窗口小部件都可以在 org.eclipse.swt.widgetorg.eclipse.swt.custom 包中找到。(一些 Eclipse 插件還在其他包中提供了定制的窗口小部件。
         
        1. 上一頁:
        2. 下一頁:
        Copyright © 程式師世界 All Rights Reserved