イベントシステム
参考
http://www.dev-articles.com/article/Gwt-EventBus-%28HandlerManager%29-the-easy-way-396001
http://stackoverflow.com/questions/998621/gwt-custom-event-handler
概要
GWTのイベントシステムは、Swingのものをアレンジしたものと言ってよい。基本的な用語は以下の通り
- Source:Swingでのイベントソースと同じ意味。イベントの発行元オブジェクトで、オブザーバパターンでの「オブザーバブル」。
- Event:Swingでのイベントとほぼ同じ意味。Swingと同様に、イベントオブジェクトは少なくともそのソースへの参照を持つが、加えて必要な任意の情報を保持してもよい。
EventHandler:Swingでいうところのリスナ。オブザーバパターンでの「オブザーバ」
HandlerManager:Swingでいうところのリスナリスト。オブザーバブルオブジェクト上でオブザーバを管理するオブジェクト。
イベントオブジェクトの階層
- Event
GwtEvent
JavaDocの訳: Handlermanagerが発生するすべてのGWTウィジェットとDOMのイベントのルートとなる。 イベントを発生させたHandlerManagerが、それを完了させた後はGWTイベントは死んだ状態となるので、それ以降はアクセスしてはいけない。 アプリケーションのカスタムイベントをGwtEventのサブクラスとする必要はない。Eventのサブクラスとすることを推奨する。
DomEvent
JavaDocの訳: GwtEventのサブクラスであり、下層のネイティブなブラウザイベントオブジェクトとsinkEvents()で用いられるGWTイベントビットを理解するTypeのサブクラスを提供する (意味不明)。
HumanInputEvent
JavaDocの訳:マウス等の位置イベントやタッチイベント等を表現する抽象クラス。