1. 程式人生 > >java事件監聽機制(觀察者設計模式的實際運用)

java事件監聽機制(觀察者設計模式的實際運用)

package cn.yang.test.controller;

/**java的事件監聽機制和觀察者設計模式
 * Created by Dev_yang on 2016/3/1.
 */
public class Demo {
    public static void main(String[] args) {
        EventSource eventSource = new EventSource();
        eventSource.registerListener(new EventListener() {
            public void run(Event event) {
                System.out.println(event.getEventSource());
            }
        });


        //在實際應用中該方法由硬體觸發,例如你點選了螢幕。然後螢幕感應到你的點選事件,然後通過一系列的轉換最後觸發了下面的動作
eventSource.run(); } } /** * 事件源 */ class EventSource{ private EventListener eventListener; public void registerListener(EventListener eventListener) { this.eventListener=eventListener; } public void run() { eventListener.run(new Event(this)); } @Override
public String toString() { return "我是事件源"; } } /** * 事件監聽器 */ interface EventListener{ void run(Event event); } /** * 事件 */ class Event{ private EventSource eventSource; public Event(EventSource eventSource) { this.eventSource=eventSource; } public EventSource getEventSource
() { return eventSource; } }