Java 自定义扩展'EventObject'和'EventListener'有什么好处`
自定义扩展Java 自定义扩展'EventObject'和'EventListener'有什么好处`,java,events,Java,Events,自定义扩展EventObject和EventListener 用于活动交付?如果我使用接口而不扩展Eventlistener和EventObject,我看不出有什么不同 参考资料:-主要好处包括包含基本合同EventObject有一个指示事件源的getSource方法。这可能看起来不多,但大多数人喜欢知道事件的起源,这样他们就可以决定他们应该做什么,这样你就不用重新发明轮子了 EventListener为您提供了使用EventListenerList的功能,它是JComponent中受保护的字段
EventObject
和EventListener
用于活动交付?如果我使用接口而不扩展Eventlistener
和EventObject
,我看不出有什么不同
参考资料:-主要好处包括包含基本合同
EventObject
有一个指示事件源的getSource
方法。这可能看起来不多,但大多数人喜欢知道事件的起源,这样他们就可以决定他们应该做什么,这样你就不用重新发明轮子了
EventListener
为您提供了使用EventListenerList
的功能,它是JComponent
中受保护的字段,这意味着您不需要设计自己的管理代码来管理您可能设计的任何事件侦听器界面,如果您是从基于JComponent
的组件扩展而来,您甚至不需要创建自己的EventListenerList
。您是对的,如果我是从基于JComponent的组件进行扩展,这对我来说是完全有意义的。然而,根据我的参考资料,它没有应用getSource
方法(一切都是他做的),它只是与EventObject和EventListener无关,这是我怀疑的(根据您的参考,SpeedEvent
使用super(源代码);
,因为原始海报是否打算使用它是另一个问题。这可以归结为实现,但提供事件源IMHO始终是一个好主意,因为您可能会听到多个事件制作人,只是说当myCar.speedUp(50)时是否可能;
,它直接触发侦听器?(不应用processSpeedEvent(新的SpeedEvent(this,this.maxSpeed,this.minSpeed,this.currentSpeed))是的,但通常情况下,您要做的是提供一个fire
事件方法。这意味着,如果任何主体重写了您的类,并且出于某种原因需要引发相关事件,那么它们可以。