JAVA监听器

什么是监听器?


百度百科给的定义是:Java事件监听器是由事件类和监听接口组成,自定义一个事件前,必须提供一个事件的监听接口以及一个事件类。JAVA中监听接口是继承java.util.EventListener的类,事件类继承java.util.EventObject的类。
通俗来说就是:监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。

监听器组件


监听器涉及三个组件:事件源,事件对象,事件监听器 当事件源发生某个动作的时候,它会调用事件监听器的方法,并在调用事件监听器方法的时候把事件对象传递进去。 我们在监听器中就可以通过事件对象获取得到事件源,从而对事件源进行操作!
(1)事件:用户对组件的一个操作,称之为一个事件
(2)事件源:发生事件的组件就是事件源
(3)事件监听器(处理器):监听并负责处理事件的方法

执行顺序
 

//1、使用匿名内部类给事件源注册监听器,

    public static void main(String[] args) {
        MyCat cat = new MyCat();

        //cat为事件源

        cat.addListener(new MyCat.IListener() {//调用自定义创建的监听器,并调用监听器中的回调方法
            @Override
            public void onEvent(String event) {
                System.out.println("监听到cat move:并执行监听器的onEvent方法");

            }
        });

        cat.move();//cat.move为被监听的事件
}


public class MyCat extends Cat {


    @Override
    public void move() {
        System.out.println("MyCat move=====被执行:");

        if (mListener!= null) { // 这里判断是否有监听器
            mListener.onEvent("cat move");  // 调用监听器
        }
    }

    


    // 创建监听器接口,,并提供添加监听器的方法
    public interface IListener {
        void onEvent(String event);
    }

    IListener mListener;


    public void addListener(IListener listener) {
        mListener = listener;
    }

}

执行结果

总结

1、给事件源注册监听器
2、组件接受外部作用,也就是事件被触发
3、组件产生一个相应的事件对象,并把此对象传递给与之关联的事件处理器
4、事件处理器启动,并执行相关的代码来处理该事件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值