java 事件举例

Posted 皮皮虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 事件举例相关的知识,希望对你有一定的参考价值。

话不多说,上代码:

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 FilesJavajdk1.8.0_171injava.exe"
小凤,喊什么喊,吵到人家做爱了
小凤,喊什么喊,吵到人家做爱了
巨柱,喊什么喊,吵到人家做爱了
Process finished with exit code 0

原理图:

技术分享图片

以上是关于java 事件举例的主要内容,如果未能解决你的问题,请参考以下文章

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

jquery简单事件举例

如何使用事件侦听器来加载动画片段的循环

Android:将片段和弹出窗口的点击事件中生成的变量传递给活动的方法

java代码在片段活动中不起作用

flexbox应用举例