按键 | 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= |