快速业务通道

Java GUI编程中的事件处理机制详解 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24

Java GUI编程中的事件处理机制详解

时间:2010-05-13

1)事件:用户对程序的某一种功能性操作。

Java中的事件主要有两种:

1.组件类事件

componentEvent、ContainerEvent、WindowEvent、FocusEvent、PaintEvent、MouseEvent共六大类,

它们均是当组件的状态发生变化时产生。

2.动作类事件

ActionEvent、TextEvent、AdjustmentEvent、ItemEvent共四类。

它们均对应用户的某一种功能性操作动作。

Java中的事件类都包含在JDK的 Java.awt.event包中。

2)事件编程:

用户编程定义每个特定事件发生时程序应做出何种响应,并且这些响应代码会在对应的事件发生时由系统自动调用。

3)事件委托授权处理模型

JDK1.1以上版本实现了事件委托授权处理模型的机制。

① 事件源:产出事件的组件。

② 监听器:对组件所产生的事件作出具体响应的代吗,即事件产出与处理分别由两个不同类(它们可以分别放在不同的程序中)加以编程实现。

③ 事件处理机制:AWT组件自身不编程处理相应的事件,面是交由事件监听器(它可以是组件所在的容器类或另外的Java程序类,只要它们实现了相关的事件监听器接口即可)处理(事件授权处理模型)。

④ 事件处理的包:java.awt.event包,它提供AWT事件所需的类和接口

ActionEvent类对应ActionListener接口;

MouseEvent类对应MouseMotionListener接口和MouseListener接口;

WindonEvent类对应WindonListener接口---即发生了XXXEvent类型的事件,那么处理该事件的接口为XXXListener);它们的父类为EventObject类。

各个事件类的说明:

EventObject:所有事件类的超类

最重要的方法-- getSource(),返回产生某事件的对象

AWTEvent:所有AWT事件类的超类

最重要的方法-- getID(),返回某事件的ID号,事件的ID是一个整数,它指定事件的类型,例如按钮事件或鼠标点击事件

ActionEvent:激活组件时发生的事件

AdjustmentEvent:调节可调整的组件(如移动滚动条)时发生的事件

ComponentEvent:操纵某组件时发生的一个高层事件

ContainerEvent:向容器添加或删除组件时发生

InputEvent:由某输入设备产生的一个高层事件

ItemEvent:从选择项,复选框或列表中选择时发生

KeyEvent:操作键盘时发生

MouseEvent:操作鼠标时发生

PaintEvent:描绘组件时发生的一个事件

TextEvent:更改文本时发生

WindowEvent:操作窗口时发生的事件,如最大化或最小化某一窗口。

Java GUI编程中的事件处理机制详解(2)

时间:2010-05-13

4)事件编程的基本原则:

事件处理的类代码要对某一类事件加以处理,则应实现它们所对应的接口,并且给出该接口中定义的全部事件响应函数的功能实现(重写其函数体);然后在创建组件时注册该事件的监听器(响应者)。

5)事件注册:

事件源通过对特定的事件进行注册,以指定该事件的监听器(响应者)是谁。

6)事件注册函数:

函数名由“add + 事件类型对应的监听器接口名称”组成;函数参数为监听器对象(实现事件响应的类的对象,如容器组件自身响应该事件,则监听器对象应用this代表)。

public void add< listenerType >(< listenerType > ListenerObj)

{

}

7)事件编程步骤:

①实现某一事件的监听器接口(定义事件处理类并实现监听器接口)。

②在事件处理类中重写(实现)其事件处理的函数体。

③在创建AWT组件时注册事件处理代码以指定该事件的监听器(响应者)是谁。

public class ButtonActionEvent extends Applet implements ActionListener,MouseMotionListener,MouseListener {   public void init() {   this.addActionListener(this);    this.addMouserMotionListener(this);    this.addMouseListener(this); } pub

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号