至此,我们已使用术语小窗口,但是没有正式定义。在 SWT 类层次结构中,小窗口是可以放置在另一个小窗口内的任何用户界面对象的抽象类。控件是通常在底层平台中具有相应表示法(由 OS 窗口句柄指示)的小窗口。
我们倾向于交替地使用术语“小窗口”和“控件”。尽管 SWT 实现中存在区别问题,但是,从应用程序的观点来看,我们并不会专注于此区别。如果复查 SWT 小窗口层次结构,则您将看到控件是可以创建并放置在小窗口父代/子代树中的任何期望位置的对象。不是控件的小窗口通常是只能为某些类型的父代创建的更专业的用户界面对象。
SWT API 参考和示例中包含大量的有关不同类型的控件及其用法的信息。org.eclipse.swt.widgets 包定义了 SWT 中的一组核心小窗口。下表总结了在此包中提供的控件的具体类型及其用途。(从此列表中除去了抽象类)。
小窗口
|
用途
|
样式
|
事件 |
---|---|---|---|
可选择的控件,当按下和/或释放该控件时就会发出通知。 |
BORDER、CHECK、PUSH、RADIO、TOGGLE、FLAT、LEFT、RIGHT、CENTER 和 ARROW(带 UP 和 DOWN)
|
销毁、控件* 和选择 | |
组合体控件,提供用于绘制任何图形的面板。通常用来实现定制控件。 |
BORDER、H_SCROLL、V_SCROLL、NO_BACKGROUND、NO_FOCUS、NO_MERGE_PAINTS、NO_REDRAW_RESIZE 和 NO_RADIO_GROUP
|
销毁和控件* | |
I 型标,通常用作文本的插入点。 |
|
销毁 | |
可选择的控件,允许用户从字符串列表中选择字符串, 或者有选择性地将新值输入到可编辑的文本字段中。通常在有限的空间需要可用的字符串的下拉显示而不是使用单个选择列表框时使用它。 |
BORDER、DROP_DOWN、READ_ONLY 和 SIMPLE
|
销毁、控件*、缺省选择、修改和选择 | |
能够包含其它小窗口的控件。 |
BORDER、H_SCROLL 和 V_SCROLL
|
销毁和控件* | |
组合体控件,允许用户动态地重新定位栏中包含的 cool 项。 |
BORDER
|
销毁和控件* | |
可选择的用户界面对象,表示 cool 栏的动态可定位区域。 |
DROP_DOWN
|
销毁 | |
组合体控件,它将其它小窗口分组,并利用蚀刻过的边界和/或标签来包围它们。 |
BORDER、SHADOW_ETCHED_IN、SHADOW_ETCHED_OUT、SHADOW_IN、SHADOW_OUT 和 SHADOW_NONE
|
销毁和控件* | |
不可选择的控件,它显示字符串或图像。 |
BORDER, CENTER, LEFT, RIGHT,
WRAP, SEPARATOR (with HORIZONTAL, SHADOW_IN, SHADOW_OUT, SHADOW_NONE, VERTICAL)
|
销毁和控件* | |
可选择的控件,允许用户从字符串列表中选择一个或多个字符串。 |
BORDER、H_SCROLL、V_SCROLL、SINGLE 和 MULTI
|
销毁、控件*、选择和缺省选择 | |
包含菜单项的用户界面对象。 |
BAR、DROP_DOWN、NO_RADIO_GROUP 和 POP_UP
|
销毁、帮助、隐藏和显示 | |
菜单项 | 表示菜单中的项的可选择的用户界面对象。 | CHECK、CASCADE、PUSH、RADIO 和 SEPARATOR | 销毁、配备、帮助和选择 |
不可选择的控件,它为用户显示进度,并且通常采用条形图形的形式。 |
BORDER、INDETERMINATE、SMOOTH、HORIZONTAL 和 VERTICAL
|
销毁和控件* | |
可选择的控件,允许用户在父代窗口中拖动窗框的橡皮镶边的大纲。用来允许用户通过重新定位子代小窗口的分界线来调整它们的大小。 |
BORDER、HORIZONTAL 和 VERTICAL
|
销毁、控件* 和选择 | |
可选择的控件,它表示数值的范围。 |
BORDER、HORIZONTAL 和 VERTICAL
|
销毁、控件* 和选择 | |
滚动条 | 可选择的控件,它表示正数值的范围。用于具有 V_SCROLL 和/或 H_SCROLL 样式的组合体。 | HORIZONTAL 和 VERTICAL | 销毁和选择 |
由 OS 窗口管理器管理的窗口。Shell 可以是“显示”(顶级 shell)或者另一个 shell(辅助 shell)的父代。 |
BORDER、H_SCROLL、V_SCROLL、CLOSE、MIN、MAX、NO_TRIM、RESIZE 和 TITLE(另见 SHELL_TRIM 和 DIALOG_TRIM)
|
销毁、控件*、激活、关闭、释放、取消图标化和图标化 | |
可选择的控件,它表示数值的范围。滑块不同于标尺,它提供了一个可拖动的手势,可以根据范围调整当前值。 |
BORDER、HORIZONTAL 和 VERTICAL
|
销毁、控件* 和选择 | |
组合体控件,它将集中可以由用户使用加了标签的标记来选择的页面。 |
BORDER
|
销毁、控件* 和选择 | |
标记项 | 与标记文件夹中的页面的标记相对应的可选择用户界面对象。 | 销毁 | |
可选择的控件,它显示用户可以选择的表项的列表。项是按行提供的,它显示表示项的不同方面的多列。 |
BORDER、H_SCROLL、V_SCROLL、SINGLE、MULTI、CHECK、FULL_SELECTION 和 HIDE_SELECTION
|
销毁、控件*、选择和缺省选择 | |
表列 | 用来表示表中的列的可选择用户界面对象。 | LEFT、RIGHT 和 CENTER | 销毁、移动、调整大小和选择 |
表项 | 用来表示表中的项的可选择用户界面对象。 | 销毁 | |
可编辑的控件,允许用户向其中输入文本。 |
BORDER、SINGLE、READ_ONLY、LEFT、CENTER、RIGHT、WRAP 和 MULTI(带 H_SCROLL 和 V_SCROLL)
|
销毁、控件*、缺省选择、修改和验证 | |
组合体控件,它支持可选择的工具栏项的布局。 |
BORDER、FLAT、WRAP、RIGHT、SHADOW_OUT HORIZONTAL 和 VERTICAL
|
销毁和控件*, | |
工具项 | 用来表示工具栏中的项的可选择用户界面对象。 | PUSH、CHECK、RADIO、SEPARATOR 和 DROP_DOWN | 销毁和选择 |
用来实现橡皮条状矩形的用户界面对象。 |
LEFT, RIGHT, UP, DOWN, RESIZE
|
销毁、移动和调整大小 | |
可选择的控件,它显示用户可以选择的树项的分层列表。 |
BORDER、H_SCROLL、V_SCROLL、SINGLE、MULTI 和 CHECK
|
销毁、控件*、选择、缺省选择、折叠和展开 | |
树项 | 可选择的用户界面对象,表示树中的树项的层次结构。 | 销毁 |
控件* = 从控件中继承的事件:焦点进入、焦点离开、帮助、键按下、键抬起、鼠标双击、鼠标按下、鼠标进入、鼠标离开、鼠标悬浮、鼠标抬起、鼠标移动、移动、绘制和调整大小