码迷,mamicode.com
首页 > 编程语言 > 详细

java 事件举例

时间:2018-08-20 14:27:39      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:string   事件   ceo   class   jdk   proc   gets   size   port   

话不多说,上代码:

package test;

import java.util.EventListener;
import java.util.EventObject;
import java.util.List;
import java.util.Vector;

class EventClassOne extends EventObject{

    public EventClassOne(Object source) {
        super(source);
    }
}
class EventSource{
    public String name;
    public EventSource(String name){
        this.name=name;
    }
//    存储事件监听器的篮子
    Vector listeners=new Vector();
// 把事件监听器加到篮子里
    public void  addEventListener(EventListener e){
        listeners.add(e);
    }
    //        触发事件的动作
    public void say(String s){
        for (int i = 0; i <listeners.size() ; i++) {
            ((MyEventListener)listeners.elementAt(i))
                    .action(new EventClassOne(this));
        }
    }

}
class MyEventListener implements EventListener {

    public void action(EventObject eventObject){
        if(eventObject.getSource() instanceof EventSource){
            String name = ((EventSource) eventObject.getSource()).name;
            System.out.println(name+",喊什么喊,吵到人家做爱了");
        }
    }
}

public class EventTest {
    public static void main(String[] args) {
        EventSource 小凤=new EventSource("小凤");
        EventSource 巨柱=new EventSource("巨柱");
        MyEventListener listener1=new MyEventListener();
        MyEventListener listener2=new MyEventListener();
        小凤.addEventListener(listener1);
        小凤.addEventListener(listener2);
        巨柱.addEventListener(listener1);

        小凤.say("想要个猛男");
        巨柱.say("想要个美女");

    }
}

结果:

"C:\Program Files\Java\jdk1.8.0_171\bin\java.exe"
小凤,喊什么喊,吵到人家做爱了
小凤,喊什么喊,吵到人家做爱了
巨柱,喊什么喊,吵到人家做爱了
Process finished with exit code 0

原理图:

技术分享图片

java 事件举例

标签:string   事件   ceo   class   jdk   proc   gets   size   port   

原文地址:https://www.cnblogs.com/webdev8888/p/9505159.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!