設有一個事件:
interface XXXListener {
void event1Happens(String param);
void event2Happens(String param);
}
可以做一個對應的類:
class XXXDispatcher extends Vector implements XXXListener {
public void event1Happens(String param) {
for (XXXListener listener: this) {
listener.event1Happens(param);
}
}
public void event2Happens(String param) {
for (XXXListener listener: this) {
listener.event2Happens(param);
}
}
}
implements XXXListener不是必須的,只是現在大多數IDE都支持直接implements一個接口,可以自動生成所有的方法。
然後事件源addXXXListener和removeXXXListener時直接調用XXXDispatcher.add,remove
需要觸發事件1的時候直接調用XXXDispatcher.event1Happens(param);