我怎么可以设置多个监听器一个事件?监听器、多个、事件、我怎么

2023-09-12 23:55:35 作者:谢谢μlovэ

我想设置多个监听一个事件,并且已经发现,使用复合监听器是关键。

谁能给我一个例子?

解决方案

 类CompositeListener实现OnEventListener {
   私人列表< OnEventListener> registeredListeners =新的ArrayList< OnEventListener>();

   公共无效registerListener(OnEventListener监听器){
      registeredListeners.add(听众);
   }

   公共无效的onEvent(事件e){
      对于(OnEventListener听众:registeredListeners){
         listener.onEvent(E);
      }
   }
}
 

......

  CompositeListener复合=新CompositeListener();
composite.registerListener(listener1);
composite.registerListener(LISTENER2);
component.setOnEventListener(复合材料);
 

spring boot 源码解析准备二 观察者模式

I want to set up multiple listeners for one event, and have found that using composite listener is the key.

Could anyone give me an example?

解决方案

class CompositeListener implements OnEventListener {
   private List<OnEventListener> registeredListeners = new ArrayList<OnEventListener>();

   public void registerListener (OnEventListener listener) {
      registeredListeners.add(listener);
   }

   public void onEvent(Event e) {
      for(OnEventListener listener:registeredListeners) {
         listener.onEvent(e);
      }
   }
}

.....

CompositeListener composite = new CompositeListener();
composite.registerListener(listener1);
composite.registerListener(listener2);
component.setOnEventListener(composite);