事件模型 java_呕心沥血java图形界面+ 事件模型笔记

Module9:AWT:事件模型

事件模型指的是对象之间进行通信的设计模式。

对象1给对象2发送一个信息相当于对象1引用对象2的方法。

模型即是一种设计模式(约定俗成)

对象对为三种:

①事件源:发出事件者;

②事件对象:发出的事件本身;

① 事件监听器:提供处理事件指定的方法。

Java AWT事件模型也称为授权事件模型,指事件可以和监听器之间事先建立一种关系:约定那些事件如何处理,由谁去进行处理。这种约定称为授权。

一个事件源可以授权多个监听者(授权也称为监听者的注册);

多个事件源也可以注册多个事件监听器。

监听者对于事件源的发出的事件作出响应。

在java.util中有EventListener接口:所有事件监听者都要实现这个接口。

java.util中有EventObject类:所有的事件都为其子类。

事件范例在\CoreJava\Girl.java文件中。(文件已加注释)

注意:接口因对不同的事件监听器对其处理可能不同,所以只能建立监听的功能,而无法实现处理。

下面程序建立监听功能:

//监听器接口要定义监听器所具备的功能,定义方法

{

void WhatIdoWhenGirlHappy(EmotionEvent e);

void WhatIdoWhenGirlSad(EmotionEvent e);

}

注意查看参考书:事件的设置模式,如何实现授权模型。

事件模式的实现步骤:

开发事件对象(事件发送者)——接口——接口实现类——设置监听对象

一定要理解透彻Gril.java程序。

重点:学会处理对一个事件源有多个事件的监听器(在发送消息时监听器收到消息的排名不分先后)。

事件监听的响应顺序是不分先后的,不是谁先注册谁就先响应。

事件监听由两个部分组成(接口和接口的实现类)。

事件源     事件对象                        事件监听

gril       EmotinEvent       EmotionListener(接口)、Boy(接口的实现类)

鼠标事件:MouseEvent,接口:MouseListener。

P235 ActionEvent。

注意在写程序的时候:import java.awt.*;以及import java.awt.event.*注意两者的不同。

在生成一个窗体的时候,点击窗体的右上角关闭按钮激发窗体事件的方法:窗体Frame为事件源,WindowsListener接口调用Windowsclosing()。

为了配合后面的实现,我们必须将WindowsListener所有的方法都实现,除了Windowsclosing方法,其余的方法均为空实现。

(练习:写一个带button窗体,点关闭按钮退出。)

上面程序中实现了许多不必要的实现类,虽然是空实现。

为了避免上面那些无用的实现,可以利用WindowEvent的一个WindowEvent类,还是利用windowsListener。还有WindowAdapter类,它已经实现了WindowsListener。它给出的全部都是空实现,那就可以只写想要实现的类,去覆盖其中的类,就不用写空实现。

注意:监听过多,会抛tooManyListener例外。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值