Comment utiliser écouteurs en java
Bonjour tout le monde,
J'ai eu sur le forum des codes sur les écouteurs, dont voici un. Mais mon problème c'est que je suis nul sur les écouteurs, donc je n'arrive pas à faire un code pour écouter une méthode lancée.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
// Interface des écouteurs. Implémentent onMyMethod, qui est levé à chaque fois que "myMethod" est appelé sur une instance de MyClass.
interface MyClassListener {
void onMyMethode (MyClassEvent event);
}
// Paramètre passé lors de la levée d'un événement
class MyClassEvent extends EventObject{
MyClassEvent(Object source) {
super(source);
}
}
// Classe qui produit des événements
class MyClass {
private List<MyClassListener> listeners = new ArrayList<MyClassListener>();
// Ajoute un écouteur
void addMyClassListener (MyClassListener listener) {
listeners.add(listener);
}
// Supprime un écouteur
void removeMyClassListener(MyClassListener listener) {
listeners.remove(listener);
}
// Génère l'événement vers tous les écouteurs
private void fireOnMyMethod(MyClassEvent event) {
for (MyClassListener l:listeners) {
l.onMyMethod(event);
}
}
// Méthode qui est écoutée
public void myMethod() {
fireOnMyMethod(new MyClassEvent(this));
// work here....
}
}
merci pour votre aide. |