SWT/JFace 按键、事件、监听
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常见的事件
事件类型 |
监听器和适配器 |
监听器中的方法 |
说明 |
可注册的GUI控件 |
ArmEvent |
ArmListener |
widgetArmed() |
菜单项被选中之前触发此事件 |
MenuItem |
ControlEvent |
ControlListener |
controlMoved() |
控件的位置改变时 |
Control,TableColumn, Tracker |
controlResized() |
控件的大小改变时 |
|||
DisposeEvent |
DisposeListener |
widgetDisposed() |
控件释放时 |
Widget |
FocusEvent |
FocusListener |
focusGained() |
控件获得焦点时 |
Control |
focusLost() |
控件失去焦点时 |
|||
HelpEvent |
HelpListener |
helpRequested() |
按F1键获得帮助时触发该事件 |
Control, Menu, MenuItem |
KeyEvent |
KeyListener |
keyPressed() |
按键按下时 |
Control |
keyReleased() |
按键释放时 |
|||
MenuEvent |
MenuListener |
menuHidder() |
显示菜单时 |
Menu |
menuShown() |
隐藏菜单时 |
|||
ModifyEvent |
ModifyListener |
modifyText() |
文本被修改时 |
Ccombo, Combo, Text, StyledText |
MouseEvent |
MouseListener |
mouseDoubleClick() |
鼠标双击时 |
Control |
mouseDown() |
鼠标按下时 |
|||
mouseUp() |
鼠标抬起时 |
|||
MouseMoveEvent |
MouseMoveListener |
mouseMove() |
鼠标移动时 |
Control |
MouseTrackEvent |
MouseTrackListener |
mouseEnter() |
鼠标进入控件区域时 |
Control |
mouseExit() |
鼠标离开控件区域时 |
|||
mouseHover() |
鼠标在该控件区域时 |
|||
PaintEvent |
PaintListener |
paintControl() |
绘制控件时 |
Control |
SelectionEvent |
SelectionListener |
widgetSelected() |
选中控件时,事件的发生根据不同的系统而异 |
Button, CCombo, Combo, CoolItem, CTabFolder, List, MenuItem, Sash, Scale, ScrollBar, Slider, StyledText, TabFolder, Table, TableCursor, TableColumn, TableTree, Text, TreeToolItem |
widgetDefaultSelected() |
默认选中控件时,事件的发生根据不同的系统而异 |
|||
ShellEvent |
ShellListener |
shellActivated() |
窗口被激活时 |
Shell |
shellClosed() |
窗口关闭时 |
|||
shellDeactivated() |
窗口变为非激活状态时 |
|||
shellDeiconified() |
当窗口不是最小化时 |
|||
shellIconified() |
当窗口最小化时 |
|||
TraverseEvent |
TraverseListener |
keyTraversed() |
按下Tab键切换时 |
Control |
TreeEvent |
TreeListener |
treeCollapsed() |
折叠树节点时 |
Tree, TableTree |
treeExpanded() |
展开树节点时 |
|||
VerifyEvent |
VerifyListener |
verifyText() |
改变文本时触发该事件 |
Text, StyledText |