ホームページ >Java >&#&チュートリアル >Observer パターンを使用して Java でカスタム イベントを実装するにはどうすればよいですか?
カスタム イベントは、多くのプログラミング シナリオで不可欠であり、コンポーネントが特定のトリガーに基づいて相互に通信できるようにします。この記事は次の点に対処することを目的としています:
問題点
特定のイベントに基づいたオブジェクト間の対話を容易にするために、Java でカスタム イベントを実装するにはどうすればよいですか?
ソリューション
Observer デザイン パターンは、カスタム イベントを管理するためのエレガントなソリューションを提供しますジャワでは。 Observer パターンの概要は次のとおりです。
サンプル実装
次のコード スニペットは、Observer パターンを使用してカスタム イベントを作成する方法を示しています。
import java.util.*; // Observer interface - defines what an Observer should respond to interface HelloListener { void someoneSaidHello(); } // Observable class - defines how an Observable manages Observers class Initiater { private List<HelloListener> listeners = new ArrayList<>(); // Method to add observers public void addListener(HelloListener toAdd) { listeners.add(toAdd); } // Method to notify observers public void sayHello() { System.out.println("Hello!!"); for (HelloListener hl : listeners) { hl.someoneSaidHello(); } } } // Observer class - defines how an Observer responds to events class Responder implements HelloListener { @Override public void someoneSaidHello() { System.out.println("Hello there..."); } } // Main class class Test { public static void main(String[] args) { Initiater initiater = new Initiater(); Responder responder = new Responder(); initiater.addListener(responder); initiater.sayHello(); } }
実行
いつ上記のコードを実行すると、イニシエーター (オブザーバブル) とレスポンダー (オブザーバー) のオブジェクトが作成されます。イニシエーターはレスポンダーをオブザーバーとして追加し、「hello」イベント (sayHello()) を起動すると、レスポンダーは通知を受け、割り当てられたアクションで応答します。これは、Observer パターンを使用した Java でのカスタム イベントの実装を示しています。
以上がObserver パターンを使用して Java でカスタム イベントを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。