首页 > 代码库 > Java学习笔记--AWT事件处理

Java学习笔记--AWT事件处理

1.事件模型

在整个事件触发和相应的过程中,主要涉及一下3类对象

(1) 事件源 : 引起时间的GUI对象,如各类组件(Button,Label,TextField),容器组件(Frame,panel,ScrallPane等)

(2) 事件类 : 事件类是引发的GUI时间封装成的类,如鼠标事件 MouseEvent

(3) 事件处理器 : 接收事件类

1.1 事件类

 低级事件
  ComponentEvent( 组件事件:组件尺寸的变化,移动)
  ContainerEvent( 容器事件:组件增加,移动)
  WindowEvent( 窗口事件:关闭窗口,窗口闭合,图标化)
  FocusEvent( 焦点事件:焦点的获得和丢失)
  KeyEvent( 键盘事件:键按下、释放)
  MouseEvent( 鼠标事件:鼠标单击,移动)
 高级事件(语义事件)
  ActionEvent(动作事件:按钮按下,TextField中按Enter键)
  AdjustmentEvent(调节事件:在滚动条上移动滑块以调节数值)
  ItemEvent(项目事件:选择项目,不选择"项目改变")
  TextEvent(文本事件,文本对象改变)

1.2 事件处理器

处理组件触发事件的方法成为“事件处理器”,事件处理器必须实现事件监听接口才能接收对应的事件类,每类事件都用对应的事件监听接口实现接口的事件处理器来接收对应的事件类。

1.3注册事件处理器

在组件中注册该组件将引发时间类对应的事件处理器,如按钮的单击事件可以用行为事件类(ActionEvent)来封装,也可用MouseEvent。在按钮组件中注册该ActionEvent事件的处理器,使用addActionListener方法:

Button a = new Button("a");

a.addActionListener(new actionHandler());

 

常用事件处理器注册方法:

(1)addActionListener(), 可用于Button以及TextField等具有行为操作的组件

(2)addAdjustmentListener() 可用于ScrollBar等具有滚动操作的组件

(3)addFocusListener()  可用于具有焦点操作的组件

(4)addItemListener()  可用于CheckBox ComboBox等具有项选择操作的组件

(5)addKeyListener()  可用于具有键盘输入操作的组件

(6)addMouseListener()  可用于具有鼠标操作的组件

(7)addWindowListener()  可用于窗体操作的组件

 

所有AWT事件及其相应的监听器接口,一共10类事件,11个接口

事件类别
描述信息
接口名
方法
 ActionEvent激活组件  ActionListener actionPerformed(ActionEvent)
 ItemEvent选择了某些项目  ItemListener itemStateChanged(ItemEvent)
 MouseEvent鼠标移动  MouseMotionListener mouseDragged(MouseEvent)
 mouseMoved(MouseEvent)
鼠标点击等  MouseListener mousePressed(MouseEvent)
 mouseReleased(MouseEvent)
 mouseEntered(MouseEvent)
 mouseExited(MouseEvent)
 mouseClicked(MouseEvent)
 KeyEvent键盘输入  KeyListener keyPressed(KeyEvent)
 keyReleased(KeyEvent)
 keyTyped(KeyEvent)
 FocusEvent组件收到或失去焦点  FocusListener focusGained(FocusEvent)
 focusLost(FocusEvent)
AdjustmentEvent移动了滚动条等组件  AdjustmentListener adjustmentValueChanged(AdjustmentEvent)
 ComponentEvent对象移动缩放显示隐藏等  ComponentListener componentMoved(ComponentEvent)
 componentHidden(ComponentEvent)
 componentResized(ComponentEvent)
 componentShown(ComponentEvent)
 WindowEvent窗口收到窗口级事件  WindowListener windowClosing(WindowEvent)
 windowOpened(WindowEvent)
 windowIconified(WindowEvent)
 windowDeiconified(WindowEvent)
 windowClosed(WindowEvent)
 windowActivated(WindowEvent)
 windowDeactivated(WindowEvent)
 ContainerEvent容器中增加删除了组件  ContainerListener componentAdded(ContainerEvent)
 componentRemoved(ContainerEvent)
 TextEvent文本字段或文本区发生改变  TextListener textValueChanged(TextEvent)

 


 

Java学习笔记--AWT事件处理