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/)