package sun.beanbox.beans; import java.beans.*; import java.lang.reflect.Method; // // Marketing department wants to put the right // spin on the class name when publicly viewed // in builder tools. // public class NervousText08BeanInfo extends SimpleBeanInfo { private final static Class beanClass = NervousText08.class; public BeanDescriptor getBeanDescriptor() { System.err.println("ENTER---> NervousText08BeanInfo.getBeanDescriptor"); BeanDescriptor bd = new BeanDescriptor(beanClass); bd.setDisplayName("Uneasy Text 08"); System.err.println("EXIT----> NervousText08BeanInfo.getBeanDescriptor"); return bd; } // ----\/------------------------------------ public PropertyDescriptor[] getPropertyDescriptors() { try { PropertyDescriptor textPD = new PropertyDescriptor("text", beanClass); PropertyDescriptor rv[] = {textPD}; textPD.setPropertyEditorClass(NervousText08TextPropertyEditor.class); return rv; } catch (IntrospectionException e) { throw new Error(e.toString()); } } // ----\/------------------------------------ public MethodDescriptor[] getMethodDescriptors() { System.err.println("ENTER---> NervousText08BeanInfo.getMethodDescriptors"); // First find the "method" objects. Method startMethod, stopMethod, changeDirectionMethod; Method propertyChangeMethod; Class args[] = { }; Class actionEventArgs[] = { java.awt.event.ActionEvent.class }; Class propertyChangeEventArgs[] = { PropertyChangeEvent.class }; try { startMethod = NervousText08.class.getMethod("start", args); stopMethod = NervousText08.class.getMethod("stop", args); // ActionEvent handler methods //FIND METHOD: public void changeDirection(ActionEvent x) changeDirectionMethod = NervousText08.class.getMethod("changeDirection", actionEventArgs); // PropertyChangeEvent handler methods // FIND METHOD public void makeChange(PropertyChangeEvent evt) { propertyChangeMethod = NervousText08.class.getMethod("makeChange", propertyChangeEventArgs); } catch (Exception ex) { // "should never happen" throw new Error("Missing method: " + ex); } // Now create the MethodDescriptor array // with visible event response methods: MethodDescriptor result[] = { new MethodDescriptor(startMethod), new MethodDescriptor(stopMethod), new MethodDescriptor(changeDirectionMethod), new MethodDescriptor(propertyChangeMethod) }; System.err.println("EXIT----> NervousText08BeanInfo.getMethodDescriptors"); return result; } }