最近看tomcat源码,tomcat里面的Lifecycle就是基于事件驱动模型的,感觉很犀利,而且搞的不是很懂,于是特意琢磨了老半天,上网查资料什么的,最终写出来了,为了备稿,特日志一篇……
一、首先,事件驱动模型有三个必须的因素:事件源,事件和事件监听器。
事件源:做过AWT或Swing的同志对JButton等类都不会陌生,那么,我们可以简单的理解为类似于按钮,菜单这样的实体。
事件:熟悉JButton的同志,应该对按钮的单击和双击事件比较熟悉吧,这里“单击”和“双击”就是事件,准确的说应该是事件的类型。
事件监听器:这玩意就像一个孜孜不倦的劳动者,一直在做着一件事情,那就是监听事件源的状态(当然事件监听器和事件源之间是进行了映射的,一个事件源可以有多个监听器,一个监听器也可以同时监听多个事件源),看是否有事件在事件源上发生,如果有则根据事件的类型做出相对应的处理,处理完当前事件或没有监听到事件时,再继续监听该事件源,如此循环往复下去……
二、那么弄清楚以上概念之后,我们就来看看事件驱动模型是如何工作的:
1.初始化事件源,事件,事件监听器;
2.建立事件监听器和事件源之间的联系;
3.触发事件;
4.事件监听器监听到此事件,并根据事件的类型进行相应的处理。
三、程序实现
1.事件源类,程序清单如下:
packagecom.zetsoft.lxy0307_event;
importjava.util.Date;
importjavax.swing.event.EventListenerList;
/**
*@authorluoxiaoyi
*事件源类,类似于JButton
*/
public class MySource{
public MySou
java 事件驱动模型
最新推荐文章于 2024-05-17 09:18:06 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)