//事件源,事件产生的类
package event;
/**
*
* @author lenovo
*/
public class Source {
private int num;
private MyEventListener listener;
public Source(int num){
this.num=num;
}
public void caculate() {
for (int i = 0; i < 10; i++) {
if ((i+1) % 2 == 0) {
System.out.print(i+1+" ");
//注册监听器
addListener(new Handler());
//调用监听器的事件处理方法
listener.action();
}
}
}
//注册监听器的方法
public void addListener( MyEventListener listener){
this.listener=listener;
}
public static void main(String[] args) {
Source source=new Source(5);
//此处触发事件
source.caculate();
}
}
//监听器接口
package event;
/**
*
* @author lenovo
*/
public interface MyEventListener {
public void action();
}
//事件处理类
package event;
/**
*
* @author lenovo
*/
public class Handler implements MyEventListener{
//实现监听器接口中的方法
public void action() {
System.out.println("这是第偶数次运行--------");
}
}
run:
2 这是第偶数次运行--------
4 这是第偶数次运行--------
6 这是第偶数次运行--------
8 这是第偶数次运行--------
10 这是第偶数次运行--------
成功生成(总时间:1 秒)