您所在位置: 网站首页 / (精品)第12章.docx / 文档详情
(精品)第12章.docx 立即下载
2024-11-03
约3.9万字
约31页
0
350KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

(精品)第12章.docx

(精品)第12章.docx

预览

免费试读已结束,剩余 26 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

••

••



第12章事件处理

Java从入门到精通

第12章
事件处理
上一章主要讨论了组件的使用以及容器的布局,这些使Java图形用户界面的程序设计变
得灵活方便,但是与图形界面程序密切相关的还有一个比较重要的内容——事件处理机制。本章主要讲述事件处理模型的概念,介绍事件处理类、事件监听器、时间适配器等内容。
12.1	事件处理模型



以下3类与事件处理机制相关。
Event(事件对象):用户界面操作以类的形式描述,例如鼠标操作对应的事件类
MouseEvent,界面动作对应的事件类ActionEvent。
EventSource(事件源):产生事件的场所,通常指组件,例如按钮Checkbox。
Eventhandler(事件处理器):接收事件类并进行相应的处理对象。
例如,在窗口中有一个按钮,当用户用鼠标单击这个按钮时,会产生ActionEvent类的
一个对象。该按钮就是所谓的事件源,该对象就是鼠标操作所对应的事件,然后事件监听器接受触发的事件,并进行相应处理。


图12-1事件处理机制
同一个事件源可能会产生一个或者多个事件,Java语言采用授权处理机制(Delegation
Model)将事件源可能产生的事件分发给不同的事件处理器。例如Panel对象可能发生鼠标事件和键盘事件,它可以授权处理鼠标事件的事件处理器来处理鼠标事件,同时也可以授权处理键盘事件的事件处理器处理键盘事件。事件处理器会一直监听所有的事件,直到有与之相匹配的事件,就马上进行相应的处理,因此事件处理器也称为事件监听器。
授权处理机制可以将事件委托给外部的处理对象进行处理,这就实现了事件源与事件处理器(监听器)的分离。通常事件处理者是一个事件类,该类必须实现处理该类型事件的接
口,并实现某些接口方法。例如程序12.1是一个演示事件处理模型的例子,类ButtonHandler
实现了ActionListener接口,该接口可以处理的事件是ActionEvent。
//导入需要使用的包和类
importjava.awt.*;importjava.awt.event.*;
publicclassEventManagerDemon{
publicstaticvoidmain(String[]args){
finalFramef=newFrame("Test");	//声明,并初始化窗口对象fButtonb=newButton("PressMe!");	//声明,并初始化按钮对象b
//注册监听器进行授权,该方法的参数是事件处理者对象b.addActionListener(newButtonHandler());
f.setLayout(newFlowLayout());	//为窗口设置布局管理器FlowLayoutf.add(b);	//在窗口中添加按钮b
f.setSize(200,100);	//设置窗口大小f.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEventevt){f.setVisible(false);	//设置窗口f不可见
f.dispose();	//释放窗口及其子组件的屏幕资源
System.exit(0);	//退出程序
}
});
f.setVisible(true);	//显示窗口
}
}
//ButtonHandler实现接口ActionListener才能做事件ActionEvent的处理者
classButtonHandlerimplementsActionListener{publicvoidactionPerformed(ActionEvente)
//ActionEvent事件对象作为参数
{
System.out.println("时间发生,已经捕获到");
//本接口必须实现的方法actionPerformed
}
}
描述:事件处理模型演示
//	文件:程序12.1	EventManagerDemon.java

编写完程序后,使用javac命令编译该文件产生class文件,然后使用java命令运行该class
文件,运行结果如图12-2,按下“PressMe!”按钮,运行结果如图12-3所示。
图12-2EventManagerDemon.java运行结果一	图12-3EventManagerDemon.java运行结果二
程序12.1中,为窗口添加了WindowListener监听器和ActionListener监听器。监听器监听所有的事件,并当遇到与之匹配的事件,就调用响应的方法进行处理。每一个监听器接口
都有实现的方法,如ActionListener必须实现actionPerformed方法。Jav
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

(精品)第12章

文档大小:350KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用