Control (控件)就是我們能夠在使用者界面上看到的使用者界面元素,可以分為容器控件和非容器控件,容器控件可包含其他的容器控件,也可以包含非容器控件,這樣就形成了控件的層級關系樹。SWT API reference 和 SWT執行個體代碼中展示了各種控件的詳細資訊和具體的使用方法。
org.eclipse.swt.widgets 包定義了SWT核心部件,下面列出了這個包提供的具體的控件類型:
- Browser 包含一個本地的HTML解析器,可以實作浏覽器的功能。
- Button 即按鈕。
- Canvas 是一種可以繪制任何圖形的容器性質的控件,經常用來實作定制化的控件。
- Caret I指針,一般用來訓示文本插入的位置。
- Combo 即下拉清單。
- Composite 是SWT中經常用到的容器控件。也是SWT中大部分容器控件的父類。
- CoolBar 容器控件,使用者可動态改變包含在其中的Cool Item。
- CoolItem 表示包含在cool bar 中的一個可以動态改變位置的區域。
- DateTime 日期時間控件,使用者可以用它來輸入和修改日期和時間。
- ExpandBar 容器控件,可以包含一組可以顯示和隐藏的帶有頭标簽的頁(ExtendItem)。 例子
- ExpandItem 對應 ExpandBar 中的一個頁面對象。
- Group 容器控件,帶有邊框 和/或 标簽。
- Label 不可選擇控件,顯示一個字元串或一個圖檔。
- Link 顯示一個帶有連結的文本對象,可選擇控件。
- List 清單控件,使用者可以用它來選擇字元串清單中的一個字元串。
- Menu 菜單,可以包含多個菜單項。
- MenuItem 包含在菜單中的菜單項。
- ProgressBar 即進度條,不可選控件,向使用者展示進度,一般呈條形圖狀。
- Sash 可選擇控件,使用者可拖動包含在父容器中的sash 的橡皮條狀的邊框,通過改變分界線的為止來改變子部件的尺寸。
- Scale 刻度表控件,可選擇控件,顯示一個數字值的範圍。
- ScrollBar 即滾動條,可選擇控件,在擁有V_SCROLL 和/或 H_SCROLL 樣式的Composite 中使用。
- Shell 對應作業系統中的視窗,shell 可以有一個Display 父對象(這時Shell 就是一個頂層視窗),也可以有一個shell 父對象。
- Slider 可選擇控件,顯示一個數字值的範圍,和Scale不同的是,Slider 提供一個能夠校準目前值的可拖拽對象。
- Spinner 可選擇控件,可以輸入和修改數字值。
- TabFolder 容器控件,在其中可以包含一組頁面,可以通過頁簽選擇每個頁面
- TabItem 對應TabFolder中的一個頁簽
- Table 即表格控件
- TableColumn 表格中列對象
- TableItem 表格中行
- Text 即文本框,使用者可以向其輸入文本内容。
- ToolBar 即工具欄,容器控件,可以包含多個工具欄項。
- ToolItem 表示工具欄的一項。
- Tree 即樹控件,顯示樹的層級結構,使用者可選擇樹上的項。
- TreeColumn 樹控件中的一列
- TreeItem 樹的節點
附:
1. 參考:http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/guide/swt_widgets_controls.htm
2. “可選擇控件” 翻譯自"Selectable control"
3. Widget class hierarchy:
Canvas class tree:
Items class: