The Molecule example provides a good example of how to provide a custom Property Editor for a specific property. The custom Property Editor is implemented in the MoleculeNameEditor class. The MoleculeBeanInfo class specifies MoleculeNameEditor as the Property Editor.
package sunw.demo.molecule; import java.beans.*; public class MoleculeBeanInfo extends SimpleBeanInfo { //Since only the molecule name property is returned from this function, //only the molecule name is exposed as an editable property. public PropertyDescriptor[] getPropertyDescriptors() { try { PropertyDescriptor pd = new PropertyDescriptor("moleculeName", Molecule.class); //a custom property editor is indicated.. pd.setPropertyEditorClass(MoleculeNameEditor.class); //and the array with the single property is returned.. PropertyDescriptor result[] = { pd }; return result; } catch (Exception ex) { System.err.println("MoleculeBeanInfo: unexpected exeption: " + ex); return null; } } }
package sunw.demo.molecule; /** * Special case property editor for molecule names. */ public class MoleculeNameEditor extends java.beans.PropertyEditorSupport { public String[] getTags() { String result[] = { "HyaluronicAcid", "benzene", "buckminsterfullerine", "cyclohexane", "ethane", "water"}; return result; } }
Java, JavaBeans, and JavaSoft are trademarks of Sun Microsystems Inc.
Copyright ©
1996 Sun Microsystems, Inc., 2550 Garcia Ave., Mtn. View, CA 94043-1100 USA.
All rights reserved.