首页 > 代码库 > SWT/JFace 按键、事件、监听
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 |
SWT/JFace 按键、事件、监听