JAVA的事件通知机制
2017-10-25 00:00
274 查看
摘要: 学习一下java的事件通知机制
Event Source事件源,也可称为事件管理器,用来管理通知触发事件,触发事件的源头,不同的事件源会触发不同的事件类型.
Event Listener事件监听器:负责监听事件源发出的事件,通常会实现java.util.EventListener,可为匿名类实现,也可为普通类实现
1.java的事件通知机制一般有3种角色:
EventObject事件对象,一般继承java.util.EventObject,可自定义,一般情况下会作为参数存到监听器jianlistener的方法中Event Source事件源,也可称为事件管理器,用来管理通知触发事件,触发事件的源头,不同的事件源会触发不同的事件类型.
Event Listener事件监听器:负责监听事件源发出的事件,通常会实现java.util.EventListener,可为匿名类实现,也可为普通类实现
2 通过代码实现一个简单的事件监听
1.事件
public class Event extends EventObject { //事件, private String str = ""; public Event(Object source, String str) { super(source); this.str = str; } @Override public String toString() { return "Event{" + "str='" + str + '\'' + '}'; } }
2.监听接口
interface EventListener { //监听接口,包含对事件的处理程序 void onChange(Event t); }
3.监听接口的实现,即监听器
class EventListener1 implements EventListener{ //监听接口的实现 @Override public void onChange(Event t) { System.out.println("我是实现类!"); } }
4.时间管理器,事件源,
class EventManager { private HashSet<EventListener> listener = new HashSet<>(); //存储监听对象 //添加事件 public void addListener(EventListener e) { if (listener == null) { return; } listener.add(e); } public void postEvent(Event event) { //触发事件的方法 if (listener == null) { return; } notifyListeners(event); } public void notifyListeners(Event event) { //通知各自的监听方法去实现 for (EventListener eventListener : listener) { eventListener.onChange(event); } } }
5.测试事件监听机制整个过程
public static void main(String[] args) { EventManager eventManager = new EventManager(); eventManager.addListener(new EventListener() { //监听接口的匿名类实现 @Override public void onChange(Event t) { System.out.println("我是匿名类!"+t); } }); eventManager.addListener(new EventListener1()); //监听的EventListener1()实现类 eventManager.postEvent(new Event("89")); } 运行结果: 我是实现类! 我是匿名类!Event{str='89'} Process finished with exit code 0 ---------------------------- 通过事件管理器将已经实现监听接口的监听器new EventListener()对象和new EventListener1()对象放到时间管理中; 然后事件管理器去触发监听,然后就会实现监听器所要实现的方法onChange()
相关文章推荐
- Java事件机制
- Java事件机制整理
- iOS 一一 自定义cell按钮的点击事件(通知机制)
- 再谈java事件监听机制
- Java线程通信与协作的解决方案——等待/通知机制
- java中加深对事件处理机制
- Java事件机制理解及应用
- JAVA事件响应机制(转)
- Java事件处理机制
- Java事件处理机制
- 浅谈用java实现事件驱动机制
- java事件处理机制 自定义事件(转载)
- java事件监听机制,spring中的event listener模式和解耦
- JAVA事件处理,和事件监听机制
- java事件监听机制
- 详解java的事件监听机制和观察者设计模式
- Flex、Java、C#、JavaFX的事件处理机制的比较
- java事件处理机制(自定义事件)
- (十三)Core Java GUI(图形化界面小程序开发,事件监听机制流程,以及可运行jar包的配置实现,) (109)
- 用Java事件处理机制实现录制回放功能