Bound Properties and Event Design Patterns
A property is bound if a change to its value can be reported as an event to other beans.
In general, a bean can create events of type EventNameEvent by implementing methods called public void addEventNameListener(EventNameListener e) public void removeEventNameListener(EventNameListener e)and by making an interface called EventNameListener.
A bean with a bound property creates PropertyChange events. In addition to the above methods, it must have a method called firePropertyChange which is executed for all registered Listeners when the property value is changed, such as in the set method.