设计模式之监听者模式

package listenermode;

public class Button {
	//在类中定义接口对象 ,都是button的行为
	public interface OnClickListener {
		
		public void onClickListener ();
	}

	private OnClickListener listener =null;
	
	public void setOnClickListener(OnClickListener cbl){
		this.listener = cbl;
	}
	//相当于是onClick的触发
	public void clickButton (){
		System.out.println("button被按下 ");  
		if (listener !=null){
			//在关心的方法中,调用接口对象中定义的方法  
			listener.onClickListener();
		}
	}
}

  测试类如下

package maintest;

import listenermode.Button;
import listenermode.Button.OnClickListener;

public class Maintest {
	public static void main(String [] args ){
		Button button= new Button();
		
		button.setOnClickListener(new OnClickListener() {
			
			public void onClickListener() {
				System.out.println("按下后执行的操作,如页面的跳转等");
			}
		});
		button.clickButton();
	}
}

 (参考 http://www.cnblogs.com/cbf4life/tag/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/) 

原文地址:https://www.cnblogs.com/chuiyuan/p/4112788.html