package test; import java.util.EventListener; import java.util.EventObject; import java.util.List; import java.util.Vector; class EventClassOne extends EventObject{ public EventClassOne(Object source) { super(source); } } class EventSource{ public String name; public EventSource(String name){ this.name=name; } // 存儲事件監聽器的籃子 Vector listeners=new Vector(); // 把事件監聽器加到籃子裏 public void addEventListener(EventListener e){ listeners.add(e); } // 觸發事件的動做 public void say(String s){ for (int i = 0; i <listeners.size() ; i++) { ((MyEventListener)listeners.elementAt(i)) .action(new EventClassOne(this)); } } } class MyEventListener implements EventListener { public void action(EventObject eventObject){ if(eventObject.getSource() instanceof EventSource){ String name = ((EventSource) eventObject.getSource()).name; System.out.println(name+",喊什麼喊,吵到人家作愛了"); } } } public class EventTest { public static void main(String[] args) { EventSource 小鳳=new EventSource("小鳳"); EventSource 巨柱=new EventSource("巨柱"); MyEventListener listener1=new MyEventListener(); MyEventListener listener2=new MyEventListener(); 小鳳.addEventListener(listener1); 小鳳.addEventListener(listener2); 巨柱.addEventListener(listener1); 小鳳.say("想要個猛男"); 巨柱.say("想要個美女"); } }
"C:\Program Files\Java\jdk1.8.0_171\bin\java.exe"
小鳳,喊什麼喊,吵到人家作愛了
小鳳,喊什麼喊,吵到人家作愛了
巨柱,喊什麼喊,吵到人家作愛了
Process finished with exit code 0java