当前页面: 开发资料首页 → Eclipse 专题 → 使用Eclipse进行SWT编程(3)
摘要: 使用Eclipse进行SWT编程(3)
8. Widgets
SWT GUI对象是从Widget和Control类继承而来的。Widget对象是基类定义了GUI类的通用方法。Control类是所有窗口GUI类的基类也就是说从Control类继承的组件需要一个窗口或者对话框来显示。
Menu对象也需要一个窗口来显示,但是这个需求间接得到了满足。一个Menu对象需要一个Control对象。
图4. Widget类层次图
图 4 显示了Widget的类层次图。Widget,Item,ScrollBar和Control类是抽象类。
8.1. Widget事件
Widget事件总结表3。简化起见,表中只包含了事件名称。我们可以很容易的使用
例子:
事件名称是Control,事件类就是ControlEvent,listener类是ControlListener,adaptor 类是ControlAdaptor。
表3. SWT Events
</td></tr><tr style="mso-yfti-irow: 1"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; mso-border-alt: inset silver .75pt">事件名称
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; mso-border-alt: inset silver .75pt">窗口组件
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; mso-border-alt: inset silver .75pt">产生的时间
</td></tr><tr style="mso-yfti-irow: 2"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Arm
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">MenuItem
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">一个菜单项加亮时
</td></tr><tr style="mso-yfti-irow: 3"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Control
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Control, TableColumn, Tracker
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">一个控件被改变大小或者移动时
</td></tr><tr style="mso-yfti-irow: 4"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Dispose
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Widget
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">窗口组件被销毁时
</td></tr><tr style="mso-yfti-irow: 5"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Focus
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Control
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">一个控件得到或者失去焦点时
</td></tr><tr style="mso-yfti-irow: 6"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Help
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Control, Menu, MenuItem
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">用户需要帮助时(例如按F1键)
</td></tr><tr style="mso-yfti-irow: 7"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Key
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Control
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">当控件得到键盘焦点并且一个键按下或者释放时
</td></tr><tr style="mso-yfti-irow: 8"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Menu
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Menu
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">菜单显示或者隐藏时
</td></tr><tr style="mso-yfti-irow: 9"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Modify
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Combo, Text
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">窗口组件的文本被修改时
</td></tr><tr style="mso-yfti-irow: 10"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Mouse
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Control
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">在控件范围内鼠标被按下,释放或者双击时
</td></tr><tr style="mso-yfti-irow: 11"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">MouseMove
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Control
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">鼠标越过控件
</td></tr><tr style="mso-yfti-irow: 12"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">MouseTrack
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Control
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">鼠标进入,离开或者盘旋在控件上方
</td></tr><tr style="mso-yfti-irow: 13"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Paint
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Control
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">控件需要被重绘时
</td></tr><tr style="mso-yfti-irow: 14"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Selection
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Button, Combo, CoolItem, List, MenuItem, Sash, Scale, ScrollBar, Slider, StyledText, TabFolder, Table, TableColumn, TableTree, Text, ToolItem, Tree
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">一个Item在控件中被选择时
</td></tr><tr style="mso-yfti-irow: 15"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Shell
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Shell
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Shell被最小化,最大化,激活,钝化或者关闭时
</td></tr><tr style="mso-yfti-irow: 16"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Traverse
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Control
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">控件被遍历(tabbed)时
</td></tr><tr style="mso-yfti-irow: 17"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Tree
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Tree, TableTree
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">一个tree item被收缩或者展开时
</td></tr><tr style="mso-yfti-irow: 18; mso-yfti-lastrow: yes"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Verify
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">Text, StyledText
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top">窗口组件的文本将要被修改时
</td></tr></table>8.2. 有用的窗口组件
图 5. Control类层次图
所有的Control类都可以有边框。你可以使用SWT.BORDER常量来给控件类增加边框。
<table class="MsoNormalTable" style="WIDTH: 100%; mso-cellspacing: 1.5pt" cellpadding="0" width="100%" border="0"><tr style="mso-yfti-irow: 0"><td style="BORDER-RIGHT: #d4d0c8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 0.75pt; BACKGROUND: #eeeeee; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #d4d0c8; WIDTH: 11%; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #d4d0c8" width="11%">SWT style常量
</td></tr><tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"><td style="BORDER-RIGHT: #d4d0c8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 0.75pt; BACKGROUND: #eeeeee; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #d4d0c8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #d4d0c8" colspan="2">一般都需要标明样式常量 (style bit).如果你不知道用哪个常量或者你不想要标明它,你可以使用SWT.NULL。
</td></tr></table>8.2.1. 按钮
按钮可以具有不同的样式。按钮的样式由style bit决定。表4显示了按钮列表和他们的样式常量。
<table class="MsoNormalTable" style="BORDER-RIGHT: silver 1pt outset; BORDER-TOP: silver 1pt outset; BORDER-LEFT: silver 1pt outset; WIDTH: 301.5pt; BORDER-BOTTOM: silver 1pt outset; mso-cellspacing: 0cm; mso-padding-alt: 0cm 0cm 0cm 0cm; mso-border-alt: outset silver .75pt" cellspacing="0" cellpadding="0" width="402" border="1"><tr style="mso-yfti-irow: 0"><td style="BORDER-RIGHT: black 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: black 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: navy; PADDING-BOTTOM: 0cm; BORDER-LEFT: black 1pt inset; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt inset; mso-border-alt: inset black .75pt" colspan="3">Table 4. SWT按钮style bit常量和例子
</td></tr><tr style="mso-yfti-irow: 1"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 20%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; mso-border-alt: inset silver .75pt" width="20%">常量
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 27%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; mso-border-alt: inset silver .75pt" width="27%">例子
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 28%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; mso-border-alt: inset silver .75pt" width="28%">描述
</td></tr><tr style="mso-yfti-irow: 2"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 20%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top" width="20%">SWT.ARROW
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: #d4d0c8; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 27%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; mso-border-alt: inset silver .75pt" valign="top" width="27%">一个按钮用于显示弹出对话框。箭头的方向由alignment常量决定。
</td></tr><tr style="mso-yfti-irow: 3"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 20%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top" width="20%">SWT.CHECK
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: #d4d0c8; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 27%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; mso-border-alt: inset silver .75pt" valign="top" width="27%">选择框,可以是图像。
</td></tr><tr style="mso-yfti-irow: 4"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 20%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top" width="20%">SWT.PUSH
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: #d4d0c8; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 27%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; mso-border-alt: inset silver .75pt" valign="top" width="27%">一个按钮
</td></tr><tr style="mso-yfti-irow: 5"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 20%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top" width="20%">SWT.RADIO
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: #d4d0c8; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 27%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; mso-border-alt: inset silver .75pt" valign="top" width="27%">在group中可以使用的单选按钮
</td></tr><tr style="mso-yfti-irow: 6; mso-yfti-lastrow: yes"><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 20%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; BACKGROUND-COLOR: transparent; mso-border-alt: inset silver .75pt" valign="top" width="20%">SWT.TOGGLE
</td><td style="BORDER-RIGHT: silver 1pt inset; PADDING-RIGHT: 0cm; BORDER-TOP: silver 1pt inset; PADDING-LEFT: 0cm; BACKGROUND: #d4d0c8; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1pt inset; WIDTH: 27%; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1pt inset; mso-border-alt: inset silver .75pt" valign="top" width="27%">同SWT.PUSH类似, 但是它可以保持按下状态直到第二次单击。
</td></tr></table>