[解決済み】Javaでカスタムイベントを作成する
2022-04-14 06:38:51
質問
Javaでこのようなことをしたいのですが、方法がわかりません。
イベント "オブジェクト 1 say 'hello' "が発生したとき。 と言うと、オブジェクト2がそのイベントに応答して "hello"と言う。
どなたかヒントかサンプルコードを教えてください。
どのように解決するのですか?
を調べたいのでしょう。 observerパターン .
以下はサンプルコードです。
import java.util.*;
// An interface to be implemented by everyone interested in "Hello" events
interface HelloListener {
void someoneSaidHello();
}
// Someone who says "Hello"
class Initiater {
private List<HelloListener> listeners = new ArrayList<HelloListener>();
public void addListener(HelloListener toAdd) {
listeners.add(toAdd);
}
public void sayHello() {
System.out.println("Hello!!");
// Notify everybody that may be interested.
for (HelloListener hl : listeners)
hl.someoneSaidHello();
}
}
// Someone interested in "Hello" events
class Responder implements HelloListener {
@Override
public void someoneSaidHello() {
System.out.println("Hello there...");
}
}
class Test {
public static void main(String[] args) {
Initiater initiater = new Initiater();
Responder responder = new Responder();
initiater.addListener(responder);
initiater.sayHello(); // Prints "Hello!!!" and "Hello there..."
}
}
関連記事 Javaです。カスタムイベントの作成
関連
-
HttpClientがGZIP形式でない場合の対処法
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] Javaでネストされたループから抜け出すには?
-
[解決済み] 動的に生成された要素にイベントバインディングを行うか?
-
[解決済み] Javaで汎用配列を作成する方法は?
-
[解決済み] Javaでオブジェクトをコピーするにはどうしたらいいですか?
-
[解決済み】JSP 2を使用して、JSPファイル内のJavaコードを回避するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Java エラー報告 スレッド "main" での例外 java.util.NoSuchElementException
-
スタイルシートとして解釈されるリソースが、MIMEタイプtext/htmlで転送される。
-
Java Exceptionが発生しました エラー解決
-
ファインバグタイプ
-
をインスタンス化することができません。
-
スキャナは、タイプに解決することはできません最もルーキー初心者の質問
-
Intellij IDEAのエラー「CreateProcess error=2, system could not find specified file」に対する完璧な解決策です。
-
eclipseにプロジェクトをインポートした後、Editorにmain typeが含まれない問題
-
あるコードに出会いましたが、何に使うのか理解できません。 List<String> list = new ArrayList<String>() { { a
-
起動時にEclipseエラーが発生しました。起動中に内部エラーが発生しました。java.lang.NullPoin: "Javaツーリングの初期化 "中に内部エラーが発生しました。