控制項

到目前為止,我們已使用過 Widget 這個術語,但都沒有一個正式的定義。在 SWT 類別階層中,Widget 是代表可置入於另一 Widget 內的任何 UI 物件之抽象類別。 控制項 是一個 Widget,通常在基礎的平台中有對應的表示法(以 OS 視窗 handle 表示)。

我們傾向於使用可交換的詞彙 Widget 和「控制項」。雖然在 SWT 實作方式不太 好區別,但就應用程式的檢視層面而言,我們不強調這個差異。如果您檢視 SWT Widget 階層,您會看到控制項是您可以建立並且放置到 Widget 母項/子項樹狀結 構中任何位置的某個項目。Widget 不是控制項,通常是只能針對某些母項類型建立的 一些更專用的 UI 物件。

SWT API 參 照和範例是有關不同種類控制項及其用法的完整資訊。org.eclipse.swt.widgets 套件定義 SWT 中的核心 Widget 集。下表彙總這個套件中提供的控制項具體類型及它 們的用途。(這個清單中略過了抽象類別)。

 
Widget
目的
樣式
事件
當按下及/或放開時發出通知的可選取控制項。
BORDER, CHECK, PUSH, RADIO, TOGGLE, FLAT, LEFT, RIGHT, CENTER, ARROW(具有 UP, DOWN)
Dispose、Control*、Selection
提供繪製任意圖形的版面之複合式控制項。通常用來實作自訂控制 項。
BORDER, H_SCROLL, V_SCROLL, NO_BACKGROUND, NO_FOCUS, NO_MERGE_PAINTS, NO_REDRAW_RESIZE, NO_RADIO_GROUP
Dispose、Control*
通常作為文字插入點的 I 型。
 
Dispose
可選取控制項,可讓使用者從字串清單中選擇字串,或選用性地將 新值鍵入可編輯文字欄位中。常用於受限空間需要 pop-down 呈現方式的可用字串, 而非使用單選清單框。
BORDER、DROP_DOWN、READ_ONLY、SIMPLE
Dispose、Control*、DefaultSelection、Modify、Selection
能夠包含其他 Widget 的控制項。
BORDER、H_SCROLL、V_SCROLL
Dispose、Control*
複合式控制項,可讓使用者動態重新定位功能列所包含的酷連 結。
BORDER
Dispose、Control*
代表酷功能列的一個可動態重新定位區域的可選取使用者介面物件。
DROP_DOWN
Dispose
複合式控制項,將其他 Widget 分組並以蝕刻邊框及/和標籤圍 住它們。
BORDER、SHADOW_ETCHED_IN、SHADOW_ETCHED_OUT、 SHADOW_IN、SHADOW_OUT、SHADOW_NONE
Dispose、Control*
顯示字串或影像的不可選取控制項。
BORDER, CENTER, LEFT, RIGHT, WRAP, SEPARATOR (with HORIZONTAL, SHADOW_IN, SHADOW_OUT, SHADOW_NONE, VERTICAL)
Dispose、Control*
可選取控制項,可讓使用者從字串清單中選擇一或多個字串。
BORDER、H_SCROLL、V_SCROLL、SINGLE、MULTI
Dispose、Control*、Selection、DefaultSelection
含有功能表項目的使用者介面物件。
BAR, DROP_DOWN, NO_RADIO_GROUP, POP_UP
Dispose、Help、Hide、Show
MenuItem 代表功能表中項目的可選取使用者介面物件。 CHECK、CASCADE、PUSH、RADIO、SEPARATOR Dispose、Arm、Help、Selection
通常以長條圖形式顯示使用者進度的不可選取控制項。
BORDER, INDETERMINATE, SMOOTH, HORIZONTAL, VERTICAL
Dispose、Control*
可選取控制項,可讓使用者拖曳母視窗內窗框的伸縮邊。 用於讓使用者藉由重新定位子項 Widget 的分割線來調整子項 Widget 大小。
BORDER、HORIZONTAL、VERTICAL
Dispose、Control*、Selection
代表數值範圍的可選取控制項。
BORDER、HORIZONTAL、VERTICAL
Dispose、Control*、Selection
ScrollBar 代表正數數值範圍的可選取控制項。使用於具有 V_SCROLL 及/或 H_SCROLL 樣式的組合中。 HORIZONTAL、VERTICAL Dispose、Selection
由 OS 視窗管理程式管理的視窗。Shell 的根源可以是 Display( 最上層 Shell)或另一個 Shell(第二層 Shell)。
BORDER, H_SCROLL, V_SCROLL, CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE(另請參閱 SHELL_TRIM, DIALOG_TRIM)
Dispose、Control*、Activate、Close、Deactivate、Deiconify 、Iconify
代表數值範圍的可選取控制項。 滑塊藉由可依範圍調整現行值的可拖曳拇指來與刻度區別。
BORDER、HORIZONTAL、VERTICAL
Dispose、Control*、Selection
複合式控制項,將使用者可使用含標籤的標示選取的頁面加以分組。
BORDER
Dispose、Control*、Selection
TabItem 對應於標示資料夾中頁面的標示之可選取使用者介面物件。   Dispose
顯示可供使用者選取的表格項目清單之可選取控制項。 項目在許多列中顯示,這些列顯示多個代表不同形式項目的直欄。
BORDER、H_SCROLL、V_SCROLL、SINGLE、MULTI、CHECK 、FULL_SELECTION、HIDE_SELECTION
Dispose、Control*、Selection、DefaultSelection
TableColumn 代表表格中直欄的可選取使用者介面物件。 LEFT、RIGHT、CENTER Dispose、Move、Resize、Selection
TableItem 代表表格中項目的可選取使用者介面物件。   Dispose
可讓使用者將文字鍵入其中的可編輯控制項。
BORDER, SINGLE,  READ_ONLY, LEFT, CENTER, RIGHT, WRAP, MULTI(具有 H_SCROLL, V_SCROLL)
Dispose、Control*、DefaultSelection、Modify、Verify
支援可選取工具列項目佈置的複合式控制項。
BORDER, FLAT, WRAP, RIGHT, SHADOW_OUT HORIZONTAL, VERTICAL
Dispose、Control*
ToolItem 代表工具列中項目的可選取使用者介面物件。 PUSH、CHECK、RADIO、SEPARATOR、DROP_DOWN Dispose、Selection
實作伸縮矩形的使用者介面物件。
LEFT, RIGHT, UP, DOWN, RESIZE
Dispose, Move, Resize
顯示可供使用者選取的樹狀結構項目階層式清單之可選取控制項。
BORDER、H_SCROLL、V_SCROLL、SINGLE、MULTI、 CHECK
Dispose、Control*、Selection、DefaultSelection、Collapse、 Expand
TreeItem 代表樹狀結構中樹狀結構項目階層的可選取使用者介面物件。   Dispose

Control* = 繼承自控制項的事件:  FocusIn、FocusOut、Help、KeyDown、KeyUp、MouseDoubleClick、MouseDown、MouseEnter、MouseExit、 MouseHover、MouseUp、MouseMove、Move、Paint、Resize

Copyright IBM Corporation and others 2000, 2003.