Class BeanInfoSupport

java.lang.Object
java.beans.SimpleBeanInfo
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, JXPromptBeanInfo, 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.
Author:
rbair, Jan Stola
  • Constructor Details

    • BeanInfoSupport

      public BeanInfoSupport(Class<?> beanClass)
      Creates a new instance of BeanInfoSupport.
      Parameters:
      beanClass - class of the bean.
  • Method Details

    • loadImage

      public Image loadImage(String resourceName)
      Overrides:
      loadImage in class SimpleBeanInfo
    • 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:
    • 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.