![]() |
1
3
如果你将此与Java如何处理GUI组件上的事件(虽然不完全相同,但总体思路相同)进行比较,你会得到这样的结果:
所有*Listener的东西都是接口。然后,您提供一个或多个实现接口的类(我更喜欢每种监听器类型一个类,其他人更喜欢创建一个实现所有监听器的单个类)。 这被证明是非常灵活的,因为事物只能注册它们感兴趣的事件。 另一种方法是使用单个“addListener(侦听器侦听器)”方法,其中侦听器接口中包含所有可能的事件,这将是一个坏主意,除非您接受有关他们不关心的事件的通知。
听起来你想要细粒度的控制,所以我可以用Java事件方式为每种一般类型的事件提供接口。 |