Je veux savoir comment configurer nos propres écouteurs en Java. Par exemple, j'ai une fonction qui incrémente le nombre de 1 à 100. Je veux définir un écouteur lorsque la valeur atteint 50. Comment puis-je faire cela? Veuillez me suggérer un tutoriel.
Jetez un œil à la source de toute classe qui utilise des écouteurs. En fait, c'est assez simple:
MyListener
MyListener
En ce qui concerne le modèle d'observateur avec un certain Java jetez un œil à wikipedia .
https://stackoverflow.com/a/6270150/3675925
Vous voudrez probablement examiner le modèle d'observateur .
Voici quelques exemples de code pour vous aider à démarrer:
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..."
}
}
Je recommanderais d'utiliser EventBus pour votre cas d'utilisation. Il a une conception Nice API et est facile à utiliser. Jetez un œil à leur section Mise en route pour voir comment cela fonctionne.
Il n'y a pas de mécanisme intégré qui vous permettrait d'attacher des écouteurs à toutes les variables. L'objet que vous souhaitez regarder doit en fournir lui-même le support. Par exemple, il pourrait devenir observable et déclencher des événements onChange vers ses observateurs (dont vous devez également vous assurer qu'ils sont suivis).