选中事件的各种属性

来源:互联网 发布:李宇春用什么音乐软件 编辑:程序博客网 时间:2024/05/22 12:00

    对于不同的控件,触发选中事件的情况是不同的。例如,按钮注册了选中事件监听器,则单击按钮时触发该事件,若为菜单项注册了选择事件监听器,则在单击菜单项时触发该事件。
    SelectionEvent的各种属性:
◆ e.item:选中事件发生时,一般可以进行强制类型转换获得触发该事件的控件。例如:
public void widgetSelected(SelectionEvent e) {
    Button bt =(Button)e.item; // 因为Widget是Button的父类
}
◆ e.detail:事件发生时附件的额外信息,根据不同的控件,有不同的值。下面列举了不同的控件触发该事件时所携带的不同的值:
控件 <==> 对应的常量
Sash <==> SWT.DRAG
ScrollBar 和 Slider <==> SWT.DRAG、SWT.HOME、SWT.END、SWT.ARROW_DOWN、SWT.ARROW_UP、SWT.PAGE_DOWN、SWT.PAGE_UP
Table 和 Tree <==> SWT.CHECK
CoolItem 和 ToolItem <==> SWT.ARROW
获得该属性时,只能是上述的这些控件触发选中事件时才携带所对应的常量值,若为其他控件,该值为null。
◆ e.x、e.y、e.width 和 e.height:分别为事件发生时的x、y坐标,宽和高。不同控件触发该事件,会有不同的值。该属性一般不常用。
◆ e.stateMask:选择控件时所使用的辅助键。与键盘事件中的stateMask属性意义相同。
◆ e.text:针对带超级链接的Link控件所使用,值为超级链接中的href的值。
◆ e.doit:是否执行该事件。