import java.beans.*; public class UnexpectedEvents { protected PropertyChangeSupport butler; // butler does all the work //------------------------------------------------------------------- // UnexpectedEvents Constructor //------------------------------------------------------------------- public UnexpectedEvents() { butler = new PropertyChangeSupport(this); } //------------------------------------------------------------------- // set()/get() for 'Property' dummy property //------------------------------------------------------------------- public void setProperty( int value) { System.out.println("Bean changing property. Firing PC event."); butler.firePropertyChange("property", new Integer(0), new Integer(1)); } public int getProperty() { return 1; } //------------------------------------------------------------------- // Listener registration methods //------------------------------------------------------------------- public void addPropertyChangeListener(PropertyChangeListener l) { butler.addPropertyChangeListener(l); } public void removePropertyChangeListener(PropertyChangeListener l) { butler.removePropertyChangeListener(l); } } // End of Bean/Class UnexpectedEvents