SWT/JFace 按键、事件、监听

时间:2022-11-11 15:48:43

JAVA.SWT/JFace: 按键与其对应的常量表、KeyEvent事件比较、VerifyEvent事件比较

2010年07月27日 星期二 22:19

《Eclipse SWT/JFACE 核心应用》清华大学出版社 8.3.2 键盘事件的各种属性

按键与其对应的常量表:

按键

keyCode常量

方向键下

SWT.ARROW_DOWN

方向键上

SWT.ARROW_UP

方向键左

SWT.ARROW_LEFT

方向键右

SWT.ARROW_RIGHT

Alt键

SWT.ALT

空格键

SWT.BS

Enter键

SWT.CR

Ctrl键

SWT.CTRL

End键

SWT.END

Esc键

SWT.ESC

F1~F12键

SWT.F1~SWT.F12

Home键

SWT.HOME

Insert键

SWT.INSERT

Page Down下翻页键

SWT.PAGE_DOWN

Page Up上翻页键

SWT.PAGE_UP

Shift键

SWT.SHIFT

Tab键

SWT.TAB

换行键

SWT.LF


KeyEvent事件比较:

示例描述

各属性的值

说明

按下A键

character='a' keyCode=97 stateMask=0

97表示键盘上的a键。当要输入大写字母A时,需要使用Shift键,所以这时stateMask的值为SWT.SHIFT

按下A键同时按下Shift键

character='A' keyCode=97 stateMask=SWT.SHIFT

按下F1键

character='\0' keyCode=SWT.F1 stateMask=0

F1键不表示任何字符,所以character为\0

按下F1键同时按下Ctrl键

character='\0' keyCode=SWT.F1 stateMask=SWT.CTRL

同时按下了辅助键,所以stateMask值为SWT.CTRL


《Eclipse SWT/JFACE 核心应用》清华大学出版社 8.5.3 文本修改事件:VerifyEvent的各种属性

VerifyEvent事件比较:

文本框的初始值

示例描述

改变字符后文本框的值

各属性的值

说明

"abcd"

字符后输入字符e

"abcde"

character='e' keyCode=101 stateMask=0 doit=true start=4 end=4 text=e

插入字符时start 和 end的值相等,记录的都是插入字符所在的位置

"abcd"

从剪贴板中粘贴"abcd"

"abcdabcd"

character='\0' keyCode=0 stateMask=0 doit=true start=4 end=4 text=abcd

"abcd"

删除字符c

"abd"

character=' ' keyCode=8 stateMask=0 doit=true start=2 end=3 text=

删除字符时,text的值为空,start记录了删除字符的起始位置,end记录了删除字符的结束位置

"abcd"

选择cd字符后按Delete键

"ab"

character=' ' keyCode=8 stateMask=0 doit=true start=2 end=4 text=

 

SWT类所代表的事件常量:

事件类型常量

说明

SWT.Activate

当激活窗口时

SWT.Arm

菜单项被选中之前

SWT.Close

关闭窗口时

SWT.Collapse

折叠树的节点时

SWT.Deactivate

窗口处于非激活状态时

SWT.DefaultSelection

默认选中时

SWT.Deiconify

窗口不是最小化时

SWT.Dispose

释放资源时

SWT.DragDetect

拖动控件时

SWT.Expand

展开树节点时

SWT.FocusIn

控件获得焦点时

SWT.FocusOut

控件失去焦点时

SWT.HardKeyDown

硬件按键按下时,例如Pocket PC

SWT.HardKeyUp

硬件按键抬起时,例如Pocket PC

SWT.Help

按下帮助键时

SWT.Hide

隐藏控件时

SWT.Iconify

窗口最小化时

SWT.KeyDown

按下按键时

SWT.KeyUp

抬起按钮时

SWT.MenuDetect

选中菜单时

SWT.Modify

文本修改时

SWT.MouseDoubleClick

双击鼠标时

SWT.MouseDown

鼠标按下时

SWT.MouseEnter

鼠标进入时

SWT.MouseExit

鼠标离开时

SWT.MouseHover

鼠标在控件区域上时

SWT.MouseMove

鼠标移动时

SWT.MouseUp

鼠标抬起时

SWT.Move

移动控件时

SWT.None

无类型事件

SWT.Paint

绘制控件时

SWT.Resize

重新设置控件大小时

SWT.Selection

选中控件时

SWT.Show

显示控件时

SWT.Traverse

使用Tab键切换时

SWT.Verify

文本进行修改时

 

 

SWT常见的事件

事件类型

监听器和适配器

监听器中的方法

说明

可注册的GUI控件

ArmEvent

ArmListener

widgetArmed()

菜单项被选中之前触发此事件

MenuItem

ControlEvent

ControlListener
ControlAdapter

controlMoved()

控件的位置改变时

Control,TableColumn, Tracker

controlResized()

控件的大小改变时

DisposeEvent

DisposeListener

widgetDisposed()

控件释放时

Widget

FocusEvent

FocusListener
FocusAdapter

focusGained()

控件获得焦点时

Control

focusLost()

控件失去焦点时

HelpEvent

HelpListener

helpRequested()

按F1键获得帮助时触发该事件

Control, Menu, MenuItem

KeyEvent

KeyListener
KeyAdapter

keyPressed()

按键按下时

Control

keyReleased()

按键释放时

MenuEvent

MenuListener
MenuAdapter

menuHidder()

显示菜单时

Menu

menuShown()

隐藏菜单时

ModifyEvent

ModifyListener

modifyText()

文本被修改时

Ccombo, Combo, Text, StyledText

MouseEvent

MouseListener
MouseAdapter

mouseDoubleClick()

鼠标双击时

Control

mouseDown()

鼠标按下时

mouseUp()

鼠标抬起时

MouseMoveEvent

MouseMoveListener

mouseMove()

鼠标移动时

Control

MouseTrackEvent

MouseTrackListener
MouseTrackAdapter

mouseEnter()

鼠标进入控件区域时

Control

mouseExit()

鼠标离开控件区域时

mouseHover()

鼠标在该控件区域时

PaintEvent

PaintListener

paintControl()

绘制控件时

Control

SelectionEvent

SelectionListener
SelectionAdapter

widgetSelected()

选中控件时,事件的发生根据不同的系统而异

Button, CCombo, Combo, CoolItem, CTabFolder, List, MenuItem, Sash, Scale, ScrollBar, Slider, StyledText, TabFolder, Table, TableCursor, TableColumn, TableTree, Text, TreeToolItem

widgetDefaultSelected()

默认选中控件时,事件的发生根据不同的系统而异

ShellEvent

ShellListener
ShellAdapter

shellActivated()

窗口被激活时

Shell

shellClosed()

窗口关闭时

shellDeactivated()

窗口变为非激活状态时

shellDeiconified()

当窗口不是最小化时

shellIconified()

当窗口最小化时

TraverseEvent

TraverseListener

keyTraversed()

按下Tab键切换时

Control

TreeEvent

TreeListener
TreeAdapter

treeCollapsed()

折叠树节点时

Tree, TableTree

treeExpanded()

展开树节点时

VerifyEvent

VerifyListener

verifyText()

改变文本时触发该事件

Text, StyledText