我的代码如下:
1。我的监听器:
public interface  MyListener extends java.util.EventListener{    public void MyMethod(MyEvent e);
}
2。我的事件类:
public class MyEvent extends java.util.EventObject{
    
 public MyEvent(MyApp source){
     super(source);
 }
}
3。我的主程序:
public class MyApp {
    
    public MyListener myListener ;
    
    public void addMyListener(MyListener l){
        myListener=l;    }    public static void main(String[] args) {
        MyApp app=new MyApp();        app.addMyListener(new MyListener(){
            public void MyMethod(MyEvent e){
                System.out.println("i am catch the Event!");
            }
        });
    }
}但是不知道为什么,程序根本就不能打印出“i am catch the Event!”。

解决方案 »

  1.   

    只加了监听,没有事件触发,所以事件类是无效的。
    这样来修改MyApp类就ok了。
    public class MyApp {
        
        public MyListener myListener ;
        public MyApp(){
           this.addMyListener(new MyListener(){
                public void MyMethod(MyEvent e){
                    System.out.println("i am catch the Event!");
                }
            });
        }
        public void addMyListener(MyListener l){
            myListener=l;    }
        //加事件触发
        public void fireMyEvent(){
          myListener.MyMethod(null);
        }    public static void main(String[] args) {
            MyApp app=new MyApp();
            app.fireMyEvent();
        }
    }