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 |
