イベントの作成と処理は Java Swing でどのように機能しますか?
3 に答える
Java イベント メカニズムは、実際には Observer デザイン パターンの実装です。オブザーバー パターンを少し読むことをお勧めします。これにより、Java のイベント メカニズムがどのように機能するかについて多くの洞察が得られます。
通常、イベントは、イベントを発生させるクラスにコールバック関数を登録することによって処理されます。イベントが発生すると、そのクラスはコールバック関数を呼び出します。
スイングから多くの例を見つけることができます。これは、私が以前に作成したチャット アプリケーションの非スイングの例です。
これは、開発者がアプリにチャット機能を埋め込むためのライブラリでした。ChatClient クラスには IMessageListener 型のメンバーがあります
IMessageListener listener;
ChatClient クラスのオブジェクトを作成した後、ユーザーはオブジェクトで setListener を呼び出します。(複数のリスナーの場合は addListerer の可能性があります)
public void setListener(IMessageListener listener) {
this.listener = listener;
}
そして、メッセージが受信されたときにライブラリメソッドで、そのリスナーオブジェクトで getMessage メソッドを呼び出します
これは基本的な例でした。より洗練されたライブラリは、イベント キュー、スレッド化、同時実行などの実装など、より複雑な方法を使用します。
編集:はい。これは確かにオブザーバーパターンです
ここにイベント処理に関するチュートリアルがあります: http://java.sun.com/docs/books/tutorial/uiswing/events/index.html
スイングについてです。それがうまくいかない場合は、もう少し具体的にできますか?