org.jdesktop.swingx
Class BeanInfoSupport

java.lang.Object
  extended by java.beans.SimpleBeanInfo
      extended by org.jdesktop.swingx.BeanInfoSupport
All Implemented Interfaces:
BeanInfo
Direct Known Subclasses:
AbstractAreaPainterBeanInfo, AbstractLayoutPainterBeanInfo, AbstractPainterBeanInfo, AbstractPathEffectBeanInfo, AlphaPainterBeanInfo, CheckerboardPainterBeanInfo, CompoundPainterBeanInfo, DropShadowBorderBeanInfo, GlossPainterBeanInfo, HorizontalLayoutBeanInfo, IconBorderBeanInfo, ImagePainterBeanInfo, JXBusyLabelBeanInfo, JXButtonBeanInfo, JXCollapsiblePaneBeanInfo, JXDatePickerBeanInfo, JXDialogBeanInfo, JXEditorPaneBeanInfo, JXErrorPaneBeanInfo, JXFindBarBeanInfo, JXFindPanelBeanInfo, JXFrameBeanInfo, JXGraphBeanInfo, JXHeaderBeanInfo, JXHyperlinkBeanInfo, JXImagePanelBeanInfo, JXImageViewBeanInfo, JXLabelBeanInfo, JXListBeanInfo, JXMonthViewBeanInfo, JXMultiSplitPaneBeanInfo, JXPanelBeanInfo, JXRadioGroupBeanInfo, JXSearchPanelBeanInfo, JXTableBeanInfo, JXTaskPaneBeanInfo, JXTaskPaneContainerBeanInfo, JXTitledPanelBeanInfo, JXTitledSeparatorBeanInfo, JXTreeBeanInfo, JXTreeTableBeanInfo, MattePainterBeanInfo, PinstripePainterBeanInfo, RectanglePainterBeanInfo, ShapePainterBeanInfo, TextPainterBeanInfo, VerticalLayoutBeanInfo

public abstract class BeanInfoSupport
extends SimpleBeanInfo

Useful baseclass for BeanInfos. With this class, normal introspection occurs and then you are given the opportunity to reconfigure portions of the bean info in the initialize method.


Field Summary
 
Fields inherited from interface java.beans.BeanInfo
ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, ICON_MONO_32x32
 
Constructor Summary
BeanInfoSupport(Class<?> beanClass)
          Creates a new instance of BeanInfoSupport.
 
Method Summary
 BeanDescriptor getBeanDescriptor()
          Gets the bean's BeanDescriptors.
protected  Class<?> getCustomizerClass()
          Override this method if you want to return a custom customizer class for the bean
 int getDefaultEventIndex()
          A bean may have a "default" event that is the event that will mostly commonly be used by human's when using the bean.
 int getDefaultPropertyIndex()
          A bean may have a "default" property that is the property that will mostly commonly be initially chosen for update by human's who are customizing the bean.
 EventSetDescriptor[] getEventSetDescriptors()
          Gets the bean's EventSetDescriptors.
 Image getIcon(int iconKind)
          This method returns an image object that can be used to represent the bean in toolboxes, toolbars, etc.
 MethodDescriptor[] getMethodDescriptors()
          Gets the bean's MethodDescriptors.
 PropertyDescriptor[] getPropertyDescriptors()
          Gets the bean's PropertyDescriptors.
protected abstract  void initialize()
          Called by the constructor during the proper time so that subclasses can override the settings/values for the various beaninfo properties.
 Image loadImage(String resourceName)
          This is a utility method to help in loading icon images.
protected  void setBound(boolean bound, String... propertyNames)
           
protected  void setCategory(String categoryName, String... propertyNames)
           
protected  void setColorIconName(String name)
          Specify the name/url/path to the 32x32 color icon
protected  void setConstrained(boolean constrained, String... propertyNames)
           
protected  void setDisplayName(String displayName, String propertyName)
          Changes the display name of the given named property.
protected  void setEnumerationValues(EnumerationValue[] values, String... propertyNames)
           
protected  void setExpert(boolean expert, String... propertyNames)
           
protected  void setHidden(boolean hidden, String... propertyNames)
          Sets the given named properties to be "hidden".
protected  void setMonoIconName(String name)
          Specify the name/url/path to the 32x32 monochrome icon
protected  void setPreferred(boolean preferred, String... propertyNames)
           
protected  void setPropertyEditor(Class<?> editorClass, String... propertyNames)
           
protected  void setSmallColorIconName(String name)
          Specify the name/url/path to the small 16x16 color icon
protected  void setSmallMonoIconName(String name)
          Specify the name/url/path to the small 16x16 monochrome icon
 
Methods inherited from class java.beans.SimpleBeanInfo
getAdditionalBeanInfo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeanInfoSupport

public BeanInfoSupport(Class<?> beanClass)
Creates a new instance of BeanInfoSupport.

Parameters:
beanClass - class of the bean.
Method Detail

loadImage

public Image loadImage(String resourceName)
Description copied from class: java.beans.SimpleBeanInfo
This is a utility method to help in loading icon images. It takes the name of a resource file associated with the current object's class file and loads an image object from that file. Typically images will be GIFs.

Overrides:
loadImage in class SimpleBeanInfo
Parameters:
resourceName - A pathname relative to the directory holding the class file of the current class. For example, "wombat.gif".
Returns:
an image object. May be null if the load failed.

initialize

protected abstract void initialize()
Called by the constructor during the proper time so that subclasses can override the settings/values for the various beaninfo properties. For example, you could call setDisplayName("Foo Name", "foo") to change the foo properties display name


getCustomizerClass

protected Class<?> getCustomizerClass()
Override this method if you want to return a custom customizer class for the bean

Returns:
null.

setSmallColorIconName

protected void setSmallColorIconName(String name)
Specify the name/url/path to the small 16x16 color icon

Parameters:
name - name of the icon.

setColorIconName

protected void setColorIconName(String name)
Specify the name/url/path to the 32x32 color icon

Parameters:
name - name of the icon.

setSmallMonoIconName

protected void setSmallMonoIconName(String name)
Specify the name/url/path to the small 16x16 monochrome icon

Parameters:
name - name of the icon.

setMonoIconName

protected void setMonoIconName(String name)
Specify the name/url/path to the 32x32 monochrome icon

Parameters:
name - name of the icon.

setDisplayName

protected void setDisplayName(String displayName,
                              String propertyName)
Changes the display name of the given named property. Property names are always listed last to allow for varargs

Parameters:
displayName - display name of the property.
propertyName - name of the property.

setHidden

protected void setHidden(boolean hidden,
                         String... propertyNames)
Sets the given named properties to be "hidden".

Parameters:
hidden - determines whether the properties should be marked as hidden or not.
propertyNames - name of properties.
See Also:
PropertyDescriptor

setExpert

protected void setExpert(boolean expert,
                         String... propertyNames)

setPreferred

protected void setPreferred(boolean preferred,
                            String... propertyNames)

setBound

protected void setBound(boolean bound,
                        String... propertyNames)

setConstrained

protected void setConstrained(boolean constrained,
                              String... propertyNames)

setCategory

protected void setCategory(String categoryName,
                           String... propertyNames)

setPropertyEditor

protected void setPropertyEditor(Class<?> editorClass,
                                 String... propertyNames)

setEnumerationValues

protected void setEnumerationValues(EnumerationValue[] values,
                                    String... propertyNames)

getBeanDescriptor

public BeanDescriptor getBeanDescriptor()
Gets the bean's BeanDescriptors.

Specified by:
getBeanDescriptor in interface BeanInfo
Overrides:
getBeanDescriptor in class SimpleBeanInfo
Returns:
BeanDescriptor describing the editable properties of this bean. May return null if the information should be obtained by automatic analysis.

getPropertyDescriptors

public PropertyDescriptor[] getPropertyDescriptors()
Gets the bean's PropertyDescriptors.

Specified by:
getPropertyDescriptors in interface BeanInfo
Overrides:
getPropertyDescriptors in class SimpleBeanInfo
Returns:
An array of PropertyDescriptors describing the editable properties supported by this bean. May return null if the information should be obtained by automatic analysis.

If a property is indexed, then its entry in the result array will belong to the IndexedPropertyDescriptor subclass of PropertyDescriptor. A client of getPropertyDescriptors can use "instanceof" to check if a given PropertyDescriptor is an IndexedPropertyDescriptor.


getEventSetDescriptors

public EventSetDescriptor[] getEventSetDescriptors()
Gets the bean's EventSetDescriptors.

Specified by:
getEventSetDescriptors in interface BeanInfo
Overrides:
getEventSetDescriptors in class SimpleBeanInfo
Returns:
An array of EventSetDescriptors describing the kinds of events fired by this bean. May return null if the information should be obtained by automatic analysis.

getMethodDescriptors

public MethodDescriptor[] getMethodDescriptors()
Gets the bean's MethodDescriptors.

Specified by:
getMethodDescriptors in interface BeanInfo
Overrides:
getMethodDescriptors in class SimpleBeanInfo
Returns:
An array of MethodDescriptors describing the methods implemented by this bean. May return null if the information should be obtained by automatic analysis.

getDefaultPropertyIndex

public int getDefaultPropertyIndex()
A bean may have a "default" property that is the property that will mostly commonly be initially chosen for update by human's who are customizing the bean.

Specified by:
getDefaultPropertyIndex in interface BeanInfo
Overrides:
getDefaultPropertyIndex in class SimpleBeanInfo
Returns:
Index of default property in the PropertyDescriptor array returned by getPropertyDescriptors.

Returns -1 if there is no default property.


getDefaultEventIndex

public int getDefaultEventIndex()
A bean may have a "default" event that is the event that will mostly commonly be used by human's when using the bean.

Specified by:
getDefaultEventIndex in interface BeanInfo
Overrides:
getDefaultEventIndex in class SimpleBeanInfo
Returns:
Index of default event in the EventSetDescriptor array returned by getEventSetDescriptors.

Returns -1 if there is no default event.


getIcon

public Image getIcon(int iconKind)
This method returns an image object that can be used to represent the bean in toolboxes, toolbars, etc. Icon images will typically be GIFs, but may in future include other formats.

Beans aren't required to provide icons and may return null from this method.

There are four possible flavors of icons (16x16 color, 32x32 color, 16x16 mono, 32x32 mono). If a bean choses to only support a single icon we recommend supporting 16x16 color.

We recommend that icons have a "transparent" background so they can be rendered onto an existing background.

Specified by:
getIcon in interface BeanInfo
Overrides:
getIcon in class SimpleBeanInfo
Parameters:
iconKind - The kind of icon requested. This should be one of the constant values ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, or ICON_MONO_32x32.
Returns:
An image object representing the requested icon. May return null if no suitable icon is available.