import java.beans.*; import java.io.*; public class TestBeanPropertyChangeDemo implements PropertyChangeListener { protected TestBean ourBean; //------------------------------------------------------------------- // main() entry point //------------------------------------------------------------------- public static void main (String[] args) { new TestBeanPropertyChangeDemo(); } //------------------------------------------------------------------- // TestBeanPropertyChangeDemo Constructor //------------------------------------------------------------------- public TestBeanPropertyChangeDemo() { ourBean = (TestBean) newBean("TestBean"); if ( ourBean == null ) { System.out.println("Could not instantiate TestBean."); System.exit(10); } // register us as interested in button property changes ourBean.addPropertyChangeListener(this); // modify one of our bean's properties ourBean.setGlitzyProperty(1234); // quit System.exit(0); } //------------------------------------------------------------------- // propertyChange() is the method we have to implement from interface // PropertyChangeListener. Here we hear of OurButton properties changing. //------------------------------------------------------------------- public void propertyChange(PropertyChangeEvent pcEvent) { String changedProperty; Object oldPropertyValue, newPropertyValue; changedProperty = pcEvent.getPropertyName(); oldPropertyValue = pcEvent.getOldValue(); newPropertyValue = pcEvent.getNewValue(); System.out.println("TestBean property '"+ changedProperty +"'"); System.out.println(".. changed from '"+ oldPropertyValue +"'"); System.out.println(".. to '"+ newPropertyValue +"'"); } //------------------------------------------------------------------- // Utility method to instantiate a bean. //------------------------------------------------------------------- public static Object newBean(String beanName) { Object aBean; try { aBean = Beans.instantiate(null, beanName); } catch (ClassNotFoundException noSuchBean) { System.out.println("newBean() failed: "+ noSuchBean); return null; } catch (IOException beanIOerror) { System.out.println("newBean() I/O error while loading bean: " + beanIOerror); return null; } return aBean; } } // End of Class TestBeanPropertyChangeDemo