使用Eclipse进行SWT编程(3)

8. Widgets

SWT GUI对象是从WidgetControl类继承而来的。Widget对象是基类定义了GUI类的通用方法。Control类是所有窗口GUI类的基类也就是说从Control类继承的组件需要一个窗口或者对话框来显示。

Menu对象也需要一个窗口来显示,但是这个需求间接得到了满足。一个Menu对象需要一个Control对象。

4. Widget类层次图

4 显示了Widget的类层次图。WidgetItemScrollBarControl类是抽象类。

8.1. Widget事件

Widget事件总结表3。简化起见,表中只包含了事件名称。我们可以很容易的使用<EventName>Event 想出事件类的名称。同样地,使用<Listener Name>Listener得到相关联地Listener地名称。并不是每一事件都有相配地Adapter类。所以,有adapter地事件用粗体表明。我们可以通过<EventName>Adaptor 来得到对应地adapter名字。
例子:
事件名称是Control,事件类就是ControlEventlistener类是ControlListeneradaptor 类是ControlAdaptor

3. SWT Events

事件名称

窗口组件

产生的时间

Arm

MenuItem

一个菜单项加亮时

Control

Control, TableColumn, Tracker

一个控件被改变大小或者移动时

Dispose

Widget

窗口组件被销毁时

Focus

Control

一个控件得到或者失去焦点时

Help

Control, Menu, MenuItem

用户需要帮助时(例如按F1键)

Key

Control

当控件得到键盘焦点并且一个键按下或者释放时

Menu

Menu

菜单显示或者隐藏时

Modify

Combo, Text

窗口组件的文本被修改时

Mouse

Control

在控件范围内鼠标被按下,释放或者双击时

MouseMove

Control

鼠标越过控件

MouseTrack

Control

鼠标进入,离开或者盘旋在控件上方

Paint

Control

控件需要被重绘时

Selection

Button, Combo, CoolItem, List, MenuItem, Sash, Scale, ScrollBar, Slider, StyledText, TabFolder, Table, TableColumn, TableTree, Text, ToolItem, Tree

一个Item在控件中被选择时

Shell

Shell

Shell被最小化,最大化,激活,钝化或者关闭时

Traverse

Control

控件被遍历(tabbed)时

Tree

Tree, TableTree

一个tree item被收缩或者展开时

Verify

Text, StyledText

窗口组件的文本将要被修改时

8.2. 有用的窗口组件

                                 

5. Control类层次图

所有的Control类都可以有边框。你可以使用SWT.BORDER常量来给控件类增加边框。

SWT style常量

一般都需要标明样式常量 (style bit).如果你不知道用哪个常量或者你不想要标明它,你可以使用SWT.NULL。

8.2.1. 按钮

按钮可以具有不同的样式。按钮的样式由style bit决定。表4显示了按钮列表和他们的样式常量。

Table 4. SWT按钮style bit常量和例子

常量

例子

描述

SWT.ARROW

一个按钮用于显示弹出对话框。箭头的方向由alignment常量决定。

SWT.CHECK

选择框,可以是图像。

SWT.PUSH

一个按钮

SWT.RADIO

group中可以使用的单选按钮

SWT.TOGGLE

SWT.PUSH类似, 但是它可以保持按下状态直到第二次单击。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值