2楼说得很好。
我唯一要补充的是:组件要负责将事件送到注册的每个Listener对象上,而不是像这片代码中所示的这1个Listener对象上。
实际上写组件(控件)是比较难的,因为组件要给使用组件的人以方便。JavaBean事件处理机制将事件、事件的监听和事件的处理解耦:事件和事件的监听实际上是组件完成的,而事件的处理是用户实现的Listener对象承担的。组件和Listener对象之间是一种回调机制。
我唯一要补充的是:组件要负责将事件送到注册的每个Listener对象上,而不是像这片代码中所示的这1个Listener对象上。
实际上写组件(控件)是比较难的,因为组件要给使用组件的人以方便。JavaBean事件处理机制将事件、事件的监听和事件的处理解耦:事件和事件的监听实际上是组件完成的,而事件的处理是用户实现的Listener对象承担的。组件和Listener对象之间是一种回调机制。
LZ的疑问简单回答如下:Java系统会在鼠标按下的一瞬间来调用用户提供的Listener对象上的mousePressed方法,也会在鼠标松开的一瞬间来调用用户提供的Listener对象上的mouseReleased方法。一切衔接的重担在Java系统身上。
src:
http://bbs.csdn.net/topics/350147962