java awt事件模型_AWT事件模型

AWT事件模型

AWT 事件模型

课程目标

---编写代码来处理在图形用户界面中发生的事件;

---描述Adapter类的概念,包括如何和何时使用它们;

---根据事件对象的细节来确定产生事件的用户动作;

---为各种类型的事件创建合适的接口和事件处理器;

*- 事件      --描述发生了什么的对象;

*- 事件源    --事件的产生器;

*- 事件处理器--接收事件、解释事件并处理用户交互的方

法;

--如果用户在用户界面层执行了一个动作(鼠标点击和按键

),这将导致一个事件的发生. 事件是描述发生了什么的对

象. 存在各种不同类型的事件类用来描述各种类型的用户

交互.

* 事件源

-- 事件源是一个事件的产生者. 例如在Button组件上点击

鼠标会产生以这个Button为源的一个ActionEvent. 这个

ActionEvent实例是一个对象,它包含关于刚才所发生的那

个事件的信息的对象,这些信息包括:

getActionCommand-返回与动作相关联的命令名称;

getWhen-返回事件发生的时间;

* 事件处理器

-- 事件处理器就是一个接收事件、解释事件并处理用户交

互的方法.

JDK1.0的事件模型:层次模型

JDK1.1的事件模型:委托模型

事件监听器: 实现了监听器接口的类. 一个监听器对象是

一个实现了专门的监听器接口的类的实例.

--当单击一个按钮时就会产生一个事件(ActionEvent),然

后检查是否有与该按钮关联的事件处理器(实际上就是一个

方法),如果没有,那么什么都不执行,如果有,就会降该事件

传递给与该按钮关联的事件处理器方法,作为该方法的参数

,之后该事件处理器方法就回自动得到调用, 并且该方法可

以使用传递过来的ActionEvent对象,进而获得事件发生时

与该事件及事件源相关联的信息.

--Java中组件若想添加事件处理器,都会使用形如

addXXXListener的方法来添加.

委托模型(JDK1.1或更高)

优点:

-事件不会意外被处理;

-有可能创建并使用适配器(adapter)类对事件动作进行分

类.

-委托模型有利于把工作分不到各个类中.

/

AWT 事件处理

事件处理机制

几个典型代表意义的事件:

MouseEvent

WindowEvent

ActionEvent

事件类型

-许多事件类在java.awt.event包中.

-对于每类事件,都有一个接口,这个接口必须由想接收这个事件的类的对象实现。这个接口还要求定义一个或多个方法。当发生特定的事件时,就会调用这些方法。

多监听者

-多监听者可以使一个程序的不相关部分执行同样的动作;

-事件发生时,所有被注册的监听者的处理器都会被调用.

//

事件Adapters(适配器)

-你定义的Listener可以继承Adapter类,而且只需重写你所需要的方法

-为了方面起见,Java语言提供了Adapters类,用来实现含有多个方法的类. 这些Adapters类中的方法是空的.

-你可以继承Adapters类,而且只需要重写你所需要的方法.

为简化编程,JDK针对大多数事件监听器接口定义了相应的实现类,我们称之为事件适配器(Adapter)类.

在适配器类中, 实现了相应监听器接口的所有方法,但不做任何事情,只要继承适配器类,就等于实现了相应的监听器接口.

如果要对某类事件的某种情况进行处理,只要覆盖相应的方法就可以,其他的方法再也不用"简单实现"了.

如果想用做事件监听器的类已经继承了别的类,就不能再继承适配器类了,只能去实现事件监听器接口了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值