一、介绍
监听器模式是一种软件设计模式,在对象的状态发生改变时,允许依赖它的其他对象获得通知。在Java中,可以使用接口和回调机制来实现监听器模式。
二、代码实例
1、事件Event类
package com.xu.demo.listener;// 事件类
public class Event {private String message;public Event(String message) {this.message = message;}public String getMessage() {return message;}
}
2、 事件监听器接口EventListener
package com.xu.demo.listener;public interface EventListener {void onEvent(Event event);
}
3、自定义监听器MyListener
package com.xu.demo.listener;// 监听器实现
public class MyListener implements EventListener {@Overridepublic void onEvent(Event event) {System.out.println("Event received: " + event.getMessage());}
}
4、事件管理器EventManager,监听所有的事件
package com.xu.demo.listener;import java.util.ArrayList;
import java.util.List;// 事件管理器,用于注册和触发事件
public class EventManager {private List<EventListener> listeners = new ArrayList<>();public void registerListener(EventListener listener) {listeners.add(listener);}public void triggerEvent(Event event) {for (EventListener listener : listeners) {listener.onEvent(event);}}
}
5、生产事件
package com.xu.demo.listener;public class ListenerPattern {public static void main(String[] args) {EventManager eventManager = new EventManager();EventListener myListener = new MyListener();eventManager.registerListener(myListener);eventManager.triggerEvent(new Event("Hello, World!"));}
}
运行结果: