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个接口
|