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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.