Java イベント モデルの背後にある「理論」に関する適切なリンクを次に示します。
また、独自のカスタム イベントを作成する方法を示すリンクは次のとおりです。
そして、これはSOからの本当に良い例です:
// REFERENCE: https://stackoverflow.com/questions/6270132/create-a-custom-event-in-java
import java.util.*;
interface HelloListener {
public void someoneSaidHello();
}
class Initiater {
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();
}
}
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();
}
}
キーは次のとおりです。
1)「イベント」(AWTイベントモデルのイベントなど)を定義する「インターフェース」を作成します
2) このイベントを「実装」するクラスを作成します (C などの言語の「コールバック」に類似し、VB が「イベント」タイプで自動的に行うことと実質的に同じです)。
「それが役立つことを願っています...少なくとも少し!