JAVA.SWT/JFace: 按鍵與其對應的常量表、KeyEvent事件比較、VerifyEvent事件比較shell
2010年07月27日 星期二 22:19ide
《Eclipse SWT/JFACE 核心應用》清華大學出版社 8.3.2 鍵盤事件的各類屬性spa
按鍵與其對應的常量表:事件
按鍵ip |
keyCode常量ci |
方向鍵下資源 |
SWT.ARROW_DOWNget |
方向鍵上it |
SWT.ARROW_UPio |
方向鍵左 |
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 |