Top / Eclipse / プラグイン開発のTIPS集 / イベントの仕組み

SWTやEclipseプラグインのイベントドリブンの仕組みについてしらべてみました。

イベントとは

そのまえに一般的に、GUIプログラミングにおける「イベント」とは、

などの「状態の変化」のことで、「イベント駆動型」の処理とはその変化が起こったときに何か「処理」をするための仕組みをいいます。

たとえば

上の例だと

などがそのイベント駆動型の処理にあたります。

オブザーバパターン

で、そのイベント駆動型(イベントドリブン)の処理を実現する方法は、すでにイディオムが確立されています。実現するには、デザインパタンでいうところのいわゆる「オブザーバパタン」を使用します。

オブザーバパターンとは

があり「Subjectの状態が変化するとObserverのあるメソッドを呼ぶ」という仕組みです。

正確にはObserver(s)はあらかじめSubjectに「なんかあったら通知してね」とお願いをしておき、Subjectは「何かあったからObserverたちに通知するよ」という仕組みとなります。

もっと正確には、Observer(s)はあらかじめSubjectに自分を登録(たとえばaddObserverとか言うメソッド名)しておいて、Subject側はしかるべき時に、Observer(s)の決められたメソッド(interfaceのメソッドになる)を呼ぶ、という仕組みになります。

diagram.png

ポイントは

といったところです。

さて上でメソッド名やinterfaceなどが出てきましたが、まとめると以下のようになります。

イベントドリブンの処理を実装する

ところで、いわゆるイベントドリブンの実装をするときはObserverはListenerと呼ばれます。 先の話をListenerに置換して繰り返すと

となります。なんとなく処理が見えてきましたね。

diagram2.png

イベントクラス

SWTでのイベント


この記事は

選択肢 投票
おもしろかった 6  
そうでもない 1  

Top / Eclipse / プラグイン開発のTIPS集 / イベントの仕組み

現在のアクセス:14510


*1 interfaceのみ適合してればOKつうこと

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS