Eclipse、SWT 與 JFace 簡介
Eclipse 是通用工具平台,提供可擴展 IDE 基礎。其 GUI 庫為 SWT(Standard Widget Toolkit) 與 JFace。
- SWT:對應作業系統原生 GUI 控制項,外觀行為如原生應用,效能高。與 Swing「消除平台差異」目標相反,SWT 擁抱平台差異。
- JFace:建構於 SWT 之上,提供檢視器、內容供應者、資料綁定等高階服務,不隱藏 SWT 而是擴展之。
核心術語與繼承體系
- Widget:基本 GUI 元件(抽象類),對應 AWT
Component/Swing JComponent。
- Control:擁有 OS 對等物的 Widget(抽象類)。
- Composite:包含其他 Control 的 Control(對應 AWT
Container/Swing JPanel)。
- Item:被其他控制項包含的 Widget(如清單項、表格項),抽象類。
繼承階層請參考原文圖 1-3。
基本控制項套件
所有 SWT 元件位於 org.eclipse.swt.widgets 或 org.eclipse.swt.custom。本文基於 Eclipse 3.0 Windows 版,範例跨平台通用。