EpoK a écrit :
Bonjour,
j'ai un objet de ma composition (tout simple qui étend object) je voulais savoir si c'est possible de lui attacher un écouteur pour qui si cet objet est modifié (cad un de ces champs change) il lance une fonction qui effectue un traitement.
merci
|
Cela correspond à un pattern (ou même une norme): javabeans.
Il faut que tes setter soient implémentés comme ceci :
Code :
- protected PropertyChangeSupport propertyChangeSupport = new java.beans.PropertyChangeSupport(this);
- public synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
- propertyChangeSupport.addPropertyChangeListener(listener);
- }
- public synchronized void removePropertyChangeListener(PropertyChangeListener listener) {
- propertyChangeSupport.removePropertyChangeListener(listener);
- }
- public void setCode(String code) {
- String old = this.code;
- this.code = code;
- propertyChangeSupport.firePropertyChange("code", old, code);
- }
|
Tu peux alors ajouter un listener sur la propriété qui t'intéresse pour suivre ses modifications.