事件监听小结

晕晕乎听了一下午课,再加上以前对java事件监听的学习,理解不甚透彻,简单说说我的看法,不到之处还请多多指点:
在程序编写设计中,想通过点击按钮或移动鼠标来实现某功能,通常这种情况或者类似的情况下,我们可以使用事件/监听器模式。
1.事件有很多种,而且事件发生的时序是不确定的。可以简单的定义一个事件的接口,如下例:
interface Event{   
    static int event1 = 0;   
    static int event2 = 1;   
    static int event3 = 2;   
    ...   
    int getEventType();   
}  
2.一个监听器的接口的一种可能形式:


interface listener{   
    void handleEvent(Event event);   
}  
3.实现监听器接口的类:


class ListenerImpl implements Listener{   
some other methods of this implementation;   
...   
void handleEvent(Event event){   
    switch(event.getEventType()){   
        case Event.event1:   
            doSomething();   
            break;   
        case Event.event2:   
            doSomethingElse();   
            break;   
        default:   
            break;   
    }   

}   
4.事件的实现类
class EventImpl implements Event{   
    private int type;   
    public EnentImpl(int type){   
        this.type = type;   
    }   

}   
5.处理实现事件监听类
class ProcessThread{   
    private Listener listener;   
    public void setListener(Listener listener){   
        this.listener = listener;   
    }   
      
    public void execute(){   
        if(this.listener != null){   
            Event event = new EventImpl(type);//触发了某事件   
            listener.handleEvent(event);   
        }   
    }   
}  
6.启动主函数,实现事件监听功能
以上就是我对事件监听机制的一点点理解,不到之处,还望指点。

猜你喜欢

转载自819521970-qq-com.iteye.com/blog/1615025
今日推荐