[JAVA]Listener监听模式的学习

在平时的code中,Listener监听者模式用的比较多,最多还是在UI的各种事件监听上,比如对某一个组件点击事件的监听:首先设置监听器,注册监听事件的处理方法,当事件发生时就能得到处理了。
首先定义一个监听器接口:

package string.pub.listener.iinterface;

public interface MyInterface {

    public void click();
}

然后在需要监听的组件中注册该方法:

package string.pub.listener;

import string.pub.listener.iinterface.MyInterface;

public class OnClickClass {
    MyInterface[] list = new MyInterface[10];
    int i = 0;

    public void addListener(MyInterface l) {
        list[i++] = l;
    }

    public void add() {
        for (int j = 0; j < i; j++) {
            list[j].click();
        }
    }
}

最后只需要在具体的调用中实现该方法就行了:

package string.pub.listener;

import string.pub.listener.iinterface.MyInterface;

public class Main {


    public static final void main(String[] args){

        OnClickClass oc=new OnClickClass();
        oc.addListener(new MyInterface() {

            @Override
            public void click() {
                // TODO Auto-generated method stub
                System.out.println("click1");
            }
        });
        oc.addListener(new MyInterface() {

            @Override
            public void click() {
                // TODO Auto-generated method stub
                System.out.println("click2");
            }


        });
        oc.add();
    }

}

实现效果如下:

你可能感兴趣的:(java,listener)