如何在java中创建自定义监听器?
2022-09-01 03:51:31
我想知道如何在java中设置我们自己的听众。例如,我有一个函数,它将数字从1递增到100。我想在值达到50时设置一个监听器。我该怎么做?请建议我任何教程。
我想知道如何在java中设置我们自己的听众。例如,我有一个函数,它将数字从1递增到100。我想在值达到50时设置一个监听器。我该怎么做?请建议我任何教程。
https://stackoverflow.com/a/6270150/3675925
您可能希望查看观察者模式。
下面是一些示例代码,可帮助您入门:
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..."
}
}
查看使用侦听器的任何类的源。事实上,这很容易:
MyListener
MyListener
至于观察者模式以及一些Java代码,请查看维基百科。