最近没事在研究Java的事件传递,小有心得。下面给出一些代码,这里是在网上看到的一个小小实例,觉得很好,就将它贴出来了。相信初学者看了之后也应该基本明白Java中事件传递的原理。
 
定义事件监听器
package testPackage;

public interface Listenable {

   public void enventChanged(MyEvent e);
}
自定义事件
package testPackage;

public class MyEvent {

   private int value;
    
   public int getValue(){
     return value;
  }
   public void setValue( int value){
     this.value = value;
  }
}
测试类
package testPackage;

public class MyListener implements Listenable {

   public void enventChanged(MyEvent e) {
     // TODO Auto-generated method stub
    System.out.println( "value changed to:" + e.getValue());
  }
    
   public static void main(String args[]){
    MySource ms = new MySource();
    MyListener ml = new MyListener();
    ms.addListener( new Listenable(){
        
       public void enventChanged(MyEvent e) {
         // TODO Auto-generated method stub
        System.out.println( "print 1");
      }
    });
    ms.addListener(ml);
    ms.setValue(10);
  }

}
输出:
print 1
value changed to:10