単純イベントメカニズムJava実装
1193 ワード
簡単で便利なイベント処理方法です.
効果の使用
イベントパブリッシャ:
イベントハンドラ:
インプリメンテーション
イベントプロセッサ:
イベント管理:
効果の使用
イベントパブリッシャ:
//
public static EventTrans<String> AuthFailed = new EventTrans<String>();
//
AuthFailed.trigger(this, " ");
イベントハンドラ:
DataProess.AuthFailed.addHandler(new EventHandle<String>() {
@Override
public void Handle(Object sender, String e) {
//
}
});
インプリメンテーション
イベントプロセッサ:
public abstract class EventHandle<EventType> {
public abstract void Handle(Object sender, EventType e);
}
イベント管理:
public class EventTrans<EventType> {
List<EventHandle<EventType>> handler;
public EventTrans() {
handler = new ArrayList<EventHandle<EventType>>();
}
public void addHandler(EventHandle<EventType> handle) {
handler.add(handle);
}
public void removeHandler(EventHandle<EventType> handle) {
handler.remove(handle);
}
public void trigger(Object sender, EventType e) {
for (EventHandle<EventType> handle : handler) {
handle.Handle(sender, e);
}
}
}