/* * see java.beans.FeatureDescriptor#FeatureDescriptor(FeatureDescriptor) */ public static void copyNonMethodProperties(PropertyDescriptor source, PropertyDescriptor target) throws IntrospectionException { target.setExpert(source.isExpert()); target.setHidden(source.isHidden()); target.setPreferred(source.isPreferred()); target.setName(source.getName()); target.setShortDescription(source.getShortDescription()); target.setDisplayName(source.getDisplayName()); // copy all attributes (emulating behavior of private FeatureDescriptor#addTable) Enumeration<String> keys = source.attributeNames(); while (keys.hasMoreElements()) { String key = keys.nextElement(); target.setValue(key, source.getValue(key)); } // see java.beans.PropertyDescriptor#PropertyDescriptor(PropertyDescriptor) target.setPropertyEditorClass(source.getPropertyEditorClass()); target.setBound(source.isBound()); target.setConstrained(source.isConstrained()); }
public PropertyDescriptor[] getPropertyDescriptors() { try { PropertyDescriptor name = new PropertyDescriptor("name", beanClass), background = new PropertyDescriptor("background", beanClass), foreground = new PropertyDescriptor("foreground", beanClass), font = new PropertyDescriptor("font", beanClass), enabled = new PropertyDescriptor("enabled", beanClass), visible = new PropertyDescriptor("visible", beanClass), focusable = new PropertyDescriptor("focusable", beanClass); enabled.setExpert(true); visible.setHidden(true); background.setBound(true); foreground.setBound(true); font.setBound(true); focusable.setBound(true); PropertyDescriptor[] rv = {name, background, foreground, font, enabled, visible, focusable}; return rv; } catch (IntrospectionException e) { throw new Error(e.toString()); } }