1. ホーム
  2. java

[解決済み] Javaにおけるイベントリスナーとハンドラの違いは何ですか?

2023-05-16 03:31:20

質問

javaの一般的な用語として、イベントにはリスナーやハンドラがあります。

知らず知らずのうちに使ってるということで、APIで使えるものだけ。

質問ですが、どのような場合にリスナーを使用し、どのような場合にイベントのハンドラを使用するのでしょうか?

両者の違いは何でしょうか?特性ですか?

理由を探したのですが、Javaの適切な説明が見つかりませんでした。

どのように解決するのですか?

リスナーとハンドラの間には、正式に定義された違いはありません。人によっては、これらは互換性があると主張するでしょう。しかし、私にとっては、それらはわずかに異なる意味を持っています。

聞き手 は、ソースからのイベントを購読するオブジェクトです。例えば observerパターン . 通常、イベントの種類ごとに購読するリスナーを多数持つことができ、それらは が追加されます。 を通して addXyzListener メソッドを使用します。

例を示します。 その MouseListener をJavaのAPIで使用することができます。

ハンドラ は、特定のイベントを処理する責任を負うオブジェクトです。典型的なシナリオは、コンストラクタの引数として特定のイベント/タスクのためのハンドラを提供することです。 セット でハンドラを設定することです。 setXyzHandler というメソッドがあります。つまり、通常は 一つ ハンドラを持っています。

その MemoryHandler をJavaのAPIで使用することができます。