您的位置:首页 > 产品设计 > UI/UE

GUI--事件处理

2015-06-19 17:09 537 查看
**一.事件处理模型**

事件源(组件),事件(Event),监听器(Listener),事件处理。

1.确定事件源

2.通过事件源对象的addXXXListener()方法将监听器注册到该事件源上,该方法接收XXXListener的子类对象,一般用匿名内部类来表示。

3.在覆盖方法时,方法的参数一般是XXXEvent类型的变量接收。

4.事件触发后会把事件打包成对象传递给该变量。

**二.事件及其相应的监听器接口**

常用事件对应的监听器接口和接口中的方法
事件类别意义及支持事件的组件接口名方法
ActionEvent激活组件

JButton,JList,JTextFeild,JMenuItem,

Component派生类
ActionListeneractionPerformed(ActionEvent)
ItemEvent            选择了某些项目

JCheckBox,JComboBox,JList等
ItemListeneritemStateChanged(ItemEvent)
MouseEvent鼠标移动

Component派生类
MouseMotionListener
mouseDragged(MouseEvent)

mouseMoved(MouseEvent)
MouseEvent鼠标单击等

Component派生类
MouseListener
mousePressed(MouseEvent)

mouseReleased(MouseEvent)

mouseEntered(MouseEvent)

mouseExited(MouseEvent)

mouseClicked(MouseEvent)
KeyEvent    键盘输入

Component派生类
KeyListener
keyPressed(KeyEvent)

keyReleased(KeyEvent)

keyTyped(KeyEvent)
FocusEvent             组件收到或失去焦点

Component派生类
FocusListener
focusGained(FocusEvent)

focusLost(FocusEvent)
AdjustmentEvent移动了滚动条等组件

实现Adjustable接口的类
AdjustmentListener
adjustmentValueChanged(AdjustmentEvent)                  
ComponentEvent对象移动,缩放,显示隐藏等

Component派生类
ComponentListener
componentMoved(ComponentEvent)

componentHidden(ComponentEvent)

componentResized(ComponentEvent)

componentShown(ComponentEvent)
WindowEvent窗口收到窗口级事件

Window及其派生类
WindowListener
windosClosing(WindowEvent)

windosOpened(WindowEvent)

windosIconified(WindowEvent)

windosDeiconified(WindowEvent)

windosClosed(WindowEvent)

windosActivated(WindowEvent)

windosDeactivated(WindowEvent)
ContainerEvent容器中增加,删除了组件

Component派生类
ContainerListener
componentAdded(ContainerEvent)

componentRemoved(ContainerEvent)
TextEvent文本字段或文本区发生改变

TextFeild,TextArea等
TextListener
textVakueChanged(TextEvent)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息