控制項

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

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

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

 
小組件
目的
樣式
事件
當按下及/或放開時發出通知的可選取控制項。
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
能夠包含其他小組件的控制項。
BORDER, H_SCROLL, V_SCROLL
Dispose, Control*
複合式控制項,可讓使用者動態重新定位功能列所包含的酷連結。
BORDER
Dispose, Control*
代表酷功能列的一個可動態重新定位區域的可選取使用者介面物件。
DROP_DOWN
Dispose
複合式控制項,將其他小組件分組並以蝕刻邊框及/和標籤圍住它們。
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*
可選取控制項,可讓使用者拖曳母視窗內窗框的伸縮邊。 用於讓使用者藉由重新定位子項小組件的分割線來調整子項小組件大小。
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, VIRTUAL
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

法律注意事項