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.Activate

當激活窗口時

SWT.Arm

菜單項被選中之前

SWT.Close

關閉窗口時

SWT.Collapse

折疊樹的節點時

SWT.Deactivate

窗口處於非激活狀態時

SWT.DefaultSelection

默認選中時

SWT.Deiconify

窗口不是最小化時

SWT.Dispose

釋放資源時

SWT.DragDetect

拖動控件時

SWT.Expand

展開樹節點時

SWT.FocusIn

控件獲得焦點時

SWT.FocusOut

控件失去焦點時

SWT.HardKeyDown

硬件按鍵按下時,例如Pocket PC

SWT.HardKeyUp

硬件按鍵抬起時,例如Pocket PC

SWT.Help

按下幫助鍵時

SWT.Hide

隱藏控件時

SWT.Iconify

窗口最小化時

SWT.KeyDown

按下按鍵時

SWT.KeyUp

抬起按鈕時

SWT.MenuDetect

選中菜單時

SWT.Modify

文本修改時

SWT.MouseDoubleClick

雙擊鼠標時

SWT.MouseDown

鼠標按下時

SWT.MouseEnter

鼠標進入時

SWT.MouseExit

鼠標離開時

SWT.MouseHover

鼠標在控件區域上時

SWT.MouseMove

鼠標移動時

SWT.MouseUp

鼠標抬起時

SWT.Move

移動控件時

SWT.None

無類型事件

SWT.Paint

繪制控件時

SWT.Resize

重新設置控件大小時

SWT.Selection

選中控件時

SWT.Show

顯示控件時

SWT.Traverse

使用Tab鍵切換時

SWT.Verify

文本進行修改時

 

 

SWT常見的事件

事件類型

監聽器和適配器

監聽器中的方法

說明

可注冊的GUI控件

ArmEvent

ArmListener

widgetArmed()

菜單項被選中之前觸發此事件

MenuItem

ControlEvent

ControlListener
ControlAdapter

controlMoved()

控件的位置改變時

Control,TableColumn, Tracker

controlResized()

控件的大小改變時

DisposeEvent

DisposeListener

widgetDisposed()

控件釋放時

Widget

FocusEvent

FocusListener
FocusAdapter

focusGained()

控件獲得焦點時

Control

focusLost()

控件失去焦點時

HelpEvent

HelpListener

helpRequested()

按F1鍵獲得幫助時觸發該事件

Control, Menu, MenuItem

KeyEvent

KeyListener
KeyAdapter

keyPressed()

按鍵按下時

Control

keyReleased()

按鍵釋放時

MenuEvent

MenuListener
MenuAdapter

menuHidder()

顯示菜單時

Menu

menuShown()

隱藏菜單時

ModifyEvent

ModifyListener

modifyText()

文本被修改時

Ccombo, Combo, Text, StyledText

MouseEvent

MouseListener
MouseAdapter

mouseDoubleClick()

鼠標雙擊時

Control

mouseDown()

鼠標按下時

mouseUp()

鼠標抬起時

MouseMoveEvent

MouseMoveListener

mouseMove()

鼠標移動時

Control

MouseTrackEvent

MouseTrackListener
MouseTrackAdapter

mouseEnter()

鼠標進入控件區域時

Control

mouseExit()

鼠標離開控件區域時

mouseHover()

鼠標在該控件區域時

PaintEvent

PaintListener

paintControl()

繪制控件時

Control

SelectionEvent

SelectionListener
SelectionAdapter

widgetSelected()

選中控件時,事件的發生根據不同的系統而異

Button, CCombo, Combo, CoolItem, CTabFolder, List, MenuItem, Sash, Scale, ScrollBar, Slider, StyledText, TabFolder, Table, TableCursor, TableColumn, TableTree, Text, TreeToolItem

widgetDefaultSelected()

默認選中控件時,事件的發生根據不同的系統而異

ShellEvent

ShellListener
ShellAdapter

shellActivated()

窗口被激活時

Shell

shellClosed()

窗口關閉時

shellDeactivated()

窗口變為非激活狀態時

shellDeiconified()

當窗口不是最小化時

shellIconified()

當窗口最小化時

TraverseEvent

TraverseListener

keyTraversed()

按下Tab鍵切換時

Control

TreeEvent

TreeListener
TreeAdapter

treeCollapsed()

折疊樹節點時

Tree, TableTree

treeExpanded()

展開樹節點時

VerifyEvent

VerifyListener

verifyText()

改變文本時觸發該事件

Text, StyledText

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM