2009-12-10 2 views

ответ

3

В вашей фазе, позвольте зарегистрировать PropertyChangeListener s, это назначенный класс наблюдателя для уведомления об изменении на java beans.

Пример боб с поддержкой PropertyChangeListener:

public class TestBean { 

    private transient final List<PropertyChangeListener> listeners = new ArrayList<PropertyChangeListener>(); 

    private String name; 

    public void addPropertyChangeListener (PropertyChangeListener listener) { 
     listeners.add(listener); 
    } 

    public void removePropertyChangeListener (PropertyChangeListener listener) { 
     listeners.remove(listener); 
    } 

    private void firePropertyChange (String property, Object oldValue, Object newValue) { 

     if (oldValue == newValue || oldValue != null && oldValue.equals(newValue)) { 
      return; 
     } 

     PropertyChangeEvent evt = new PropertyChangeEvent(this, property, oldValue, newValue); 
     for (PropertyChangeListener listener : new ArrayList<PropertyChangeListener>(listeners)) { 
      listener.propertyChange(evt); 
     } 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName (String name) { 

     firePropertyChange("name", this.name, this.name = name); 
    } 
} 
+0

Я предпочитаю этот ответ, потому что он говорит мне, не только то, как послать событие, но и как сообщить слушателям атрибут ведьмы был изменен. – Claudio

Смежные вопросы