这里探讨一下java swing中的事件模型问题,共同学习。首先要清楚这种新的事件模型中的几个角色role:
事件源:即各种可以被操作从而产生相应的组件,很简单吧
事件类型:对于一个组件可以产生很多类型的事件,比如鼠标单双击、changed等;一种事件可以被不同的组件产生
事件处理接口:这也就是真正处理事件的地方,针对各种事件提供了不同的接口,你只需要新建一个class implements这些接口,这些类的实例称为监听器listener,实现其中与特定事件相关的方法,it's ok
注册: 事件源有了,监听器有了,那么下一步就是把二者联系起来,怎么办?注册机制帮助你:component.addXXXListener(监听器对象);
这样做得好处不必多说了吧!
事件源:即各种可以被操作从而产生相应的组件,很简单吧
事件类型:对于一个组件可以产生很多类型的事件,比如鼠标单双击、changed等;一种事件可以被不同的组件产生
事件处理接口:这也就是真正处理事件的地方,针对各种事件提供了不同的接口,你只需要新建一个class implements这些接口,这些类的实例称为监听器listener,实现其中与特定事件相关的方法,it's ok
注册: 事件源有了,监听器有了,那么下一步就是把二者联系起来,怎么办?注册机制帮助你:component.addXXXListener(监听器对象);
这样做得好处不必多说了吧!
解决方案 »
- 关于selectionKey.iswritable()这方法的问题
- socket.getInputStream返回一个InputStream,但InputStream是一个抽象类,那么socket.getInputStream返回的到底是哪个子类?
- 如何获取本地机的屏幕尺寸
- 我的J2SE杂安装不上请高手指教!
- scrollRectToVisible参数为一个Rectangle,这个rectangle代表什么意思呢,怎么用呀
- ****用objectOutputStream.writeObject(o)写文件,如何支持从文件尾开始续写?***
- 为什么我写的AspectJ for JBuilder程序可以通过编译,却无法运行?
- 请问JAVA如何执行(调用)操作系统命令,如dir,然后把执行结果存入变量或文件,谢谢!
- 用JAVA做的WEB服务程序的问题?!!
- 询问学习方向
- 请看!两个关键的小问题!
- applet如何弹一个message框,让用户确认?
如果有感性认识,就看看设计模式里的观察者模式。(这个在Java里被叫做监听者模式。)
建议先看一下 java.util.Observer借口 和Observable 类
在JAVA中的对照物就是事件队列。
事件源:即各种可以被操作从而产生相应的组件,很简单吧
事件类型:对于一个组件可以产生很多类型的事件,比如鼠标单双击、changed等;一种事件可以被不同的组件产生
事件处理接口:这也就是真正处理事件的地方,针对各种事件提供了不同的接口,你只需要新建一个class implements这些接口,这些类的实例称为监听器listener,实现其中与特定事件相关的方法,it's ok
注册: 事件源有了,监听器有了,那么下一步就是把二者联系起来,怎么办?注册机制帮助你:component.addXXXListener(监听器对象);强烈同意!!楼主要学swing吗?可以和我探讨啊,我做swing 也快有一年了,呵呵。。
推荐一本书:《精通java swing 程序设计》