这里探讨一下java swing中的事件模型问题,共同学习。首先要清楚这种新的事件模型中的几个角色role:
事件源:即各种可以被操作从而产生相应的组件,很简单吧
事件类型:对于一个组件可以产生很多类型的事件,比如鼠标单双击、changed等;一种事件可以被不同的组件产生
事件处理接口:这也就是真正处理事件的地方,针对各种事件提供了不同的接口,你只需要新建一个class implements这些接口,这些类的实例称为监听器listener,实现其中与特定事件相关的方法,it's ok
注册: 事件源有了,监听器有了,那么下一步就是把二者联系起来,怎么办?注册机制帮助你:component.addXXXListener(监听器对象);
这样做得好处不必多说了吧!
事件源:即各种可以被操作从而产生相应的组件,很简单吧
事件类型:对于一个组件可以产生很多类型的事件,比如鼠标单双击、changed等;一种事件可以被不同的组件产生
事件处理接口:这也就是真正处理事件的地方,针对各种事件提供了不同的接口,你只需要新建一个class implements这些接口,这些类的实例称为监听器listener,实现其中与特定事件相关的方法,it's ok
注册: 事件源有了,监听器有了,那么下一步就是把二者联系起来,怎么办?注册机制帮助你:component.addXXXListener(监听器对象);
这样做得好处不必多说了吧!
如果有感性认识,就看看设计模式里的观察者模式。(这个在Java里被叫做监听者模式。)
建议先看一下 java.util.Observer借口 和Observable 类
在JAVA中的对照物就是事件队列。
事件源:即各种可以被操作从而产生相应的组件,很简单吧
事件类型:对于一个组件可以产生很多类型的事件,比如鼠标单双击、changed等;一种事件可以被不同的组件产生
事件处理接口:这也就是真正处理事件的地方,针对各种事件提供了不同的接口,你只需要新建一个class implements这些接口,这些类的实例称为监听器listener,实现其中与特定事件相关的方法,it's ok
注册: 事件源有了,监听器有了,那么下一步就是把二者联系起来,怎么办?注册机制帮助你:component.addXXXListener(监听器对象);强烈同意!!楼主要学swing吗?可以和我探讨啊,我做swing 也快有一年了,呵呵。。
推荐一本书:《精通java swing 程序设计》