Bonjour
J'implémente une classe A qui émet des événements à travers une interface
implémentée par les instances qui écoutent.
Je dois stocker dans chaque instance de A la liste des instances qui écoutent.
Je pourrais le faire dans une liste mais comme ci-dessous n'existe-t-il pas déjà quelque chose
prévu par le framework qui éviterait cette opération et qui par la même
occasion pourrait gérer automatiquement les désabonnements lors
de la destruction des instances ? (un peu comme en delphi pour ceux
qui connaissent.)
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 // Ceci est du code d'illustration qui ne doit probablement pas compiler... Interface MyListener { void valueChanged(int newValue); } public class MaClasse { private List<MyListener> listeners; public void addListener(MyListener listener){ listeners.add(listener); } public void removeListener(MyListener listener){ listeners.remove(listener); } } public class Ecouteur implements MyListener{ private MaClasse lInstance= getLInstance(); Ecouteur(){ lInstance.addListener(this); } ~Ecouteur(){ lInstance.removeListener(this); } void valueChanged(int newValue){ // qq chose } MaClasse getLInstance(){ // qq chose } }
Merci
Henri
Partager