ホームページ >Java >&#&チュートリアル >Java でカスタム イベントを作成して使用する方法は?
Java カスタム イベントの作成
オブジェクトの対話に特定のイベントが関与する応答メカニズムを確立しようとする場合、実行可能なソリューションとしてオブザーバー パターンが浮上します。 。このパターンを利用すると、オブジェクトは対象のイベントをサブスクライブでき、それらのイベントが発生すると、適切なアクションを実行するように通知されます。
Java 実装
検討次のコード スニペットは、例:
import java.util.*; // HelloEvent: Represents an event of "Hello" class HelloEvent { private String message; public HelloEvent(String message) { this.message = message; } public String getMessage() { return message; } } // HelloListener: Interface for objects interested in "Hello" events interface HelloListener { void onHello(HelloEvent event); } // Initiater: Publishes "Hello" events class Initiater { private List<HelloListener> listeners = new ArrayList<>(); public void addListener(HelloListener listener) { listeners.add(listener); } public void sayHello(String message) { HelloEvent event = new HelloEvent(message); for (HelloListener listener : listeners) { listener.onHello(event); } } } // Responder: Subscribes to "Hello" events class Responder implements HelloListener { @Override public void onHello(HelloEvent event) { System.out.println("Hello there! " + event.getMessage()); } } public class CustomEventExample { public static void main(String[] args) { Initiater initiater = new Initiater(); Responder responder = new Responder(); initiater.addListener(responder); initiater.sayHello("Good morning!"); // Prints "Hello there! Good morning!" } }
説明
この例では、HelloEvent クラスがイベント データ (この場合は挨拶メッセージ) をカプセル化します。 HelloListener インターフェイスは、イベント通知を処理するためにサブスクライバーが実装する必要があるメソッドを定義します。 Initiator は、イベントをトリガーし、サブスクライバーのリストを維持するオブジェクトを表します。レスポンダーは、「Hello」イベントが発生したときに応答するサブスクライバーです。
CustomEventExample クラスは、カスタム イベントを作成、公開、サブスクライブする方法を示します。イニシエータがsayHello メソッドを呼び出すと、HelloEvent が起動され、これがレスポンダによって受信されて処理されます。
このアプローチは、Java アプリケーション内のオブジェクト間のイベント駆動型通信を確立する柔軟な方法を提供します。
以上がJava でカスタム イベントを作成して使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。