Package org.jdesktop.beans
Class BeanInfoSupport
- java.lang.Object
-
- java.beans.SimpleBeanInfo
-
- org.jdesktop.beans.BeanInfoSupport
-
- All Implemented Interfaces:
java.beans.BeanInfo
- Direct Known Subclasses:
AbstractAreaPainterBeanInfo
,AbstractLayoutPainterBeanInfo
,AbstractPainterBeanInfo
,AbstractPathEffectBeanInfo
,AlphaPainterBeanInfo
,BusyPainterBeanInfo
,CheckerboardPainterBeanInfo
,CompoundPainterBeanInfo
,DropShadowBorderBeanInfo
,GlossPainterBeanInfo
,HorizontalLayoutBeanInfo
,IconBorderBeanInfo
,ImagePainterBeanInfo
,JXBusyLabelBeanInfo
,JXButtonBeanInfo
,JXCollapsiblePaneBeanInfo
,JXDatePickerBeanInfo
,JXDialogBeanInfo
,JXEditorPaneBeanInfo
,JXErrorPaneBeanInfo
,JXFindBarBeanInfo
,JXFindPanelBeanInfo
,JXFrameBeanInfo
,JXGraphBeanInfo
,JXHeaderBeanInfo
,JXHyperlinkBeanInfo
,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 java.beans.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 theinitialize
method.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Class<?>
beanClass
The class of the bean that this BeanInfoSupport is forprivate java.beans.BeanDescriptor
beanDescriptor
private int
defaultEventIndex
private int
defaultPropertyIndex
private java.util.Map<java.lang.String,java.beans.EventSetDescriptor>
events
private java.awt.Image
iconColor16
The 16x16 color iconprivate java.awt.Image
iconColor32
The 32x32 color iconprivate java.awt.Image
iconMono16
The 16x16 monochrome iconprivate java.awt.Image
iconMono32
The 32x32 monochrome iconprivate java.lang.String
iconNameC16
A reference to the icon.private java.lang.String
iconNameC32
A reference to the icon.private java.lang.String
iconNameM16
A reference to the icon.private java.lang.String
iconNameM32
A reference to the icon.private static java.util.Map<java.lang.Class<?>,java.lang.Boolean>
introspectingState
Indicates whether I am introspecting state for the give class.private static java.util.logging.Logger
LOG
private java.util.Map<java.lang.String,java.beans.MethodDescriptor>
methods
private java.util.Map<java.lang.String,java.beans.PropertyDescriptor>
properties
-
Constructor Summary
Constructors Constructor Description BeanInfoSupport(java.lang.Class<?> beanClass)
Creates a new instance of BeanInfoSupport.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.beans.BeanDescriptor
getBeanDescriptor()
Gets the bean'sBeanDescriptor
s.protected java.lang.Class<?>
getCustomizerClass()
Override this method if you want to return a custom customizer class for the beanint
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.java.beans.EventSetDescriptor[]
getEventSetDescriptors()
Gets the bean'sEventSetDescriptor
s.java.awt.Image
getIcon(int iconKind)
This method returns an image object that can be used to represent the bean in toolboxes, toolbars, etc.private java.awt.Image
getImage(java.lang.String name, java.awt.Image img)
java.beans.MethodDescriptor[]
getMethodDescriptors()
Gets the bean'sMethodDescriptor
s.java.beans.PropertyDescriptor[]
getPropertyDescriptors()
Gets the bean'sPropertyDescriptor
s.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.private boolean
isIntrospecting()
java.awt.Image
loadImage(java.lang.String resourceName)
private java.awt.Image
loadStandardImage(java.beans.BeanInfo info, int size)
attempts to load a png icon from the resource directory beneath beaninfo, named like: JXTaskPaneContainer16.png JXTaskPaneContainer16-mono.png JXTaskPaneContainer32.png JXTaskPaneContainer32-mono.png if any of the icons is missing, an attempt is made to get an icon via introspection.protected void
setBound(boolean bound, java.lang.String... propertyNames)
protected void
setCategory(java.lang.String categoryName, java.lang.String... propertyNames)
protected void
setColorIconName(java.lang.String name)
Specify the name/url/path to the 32x32 color iconprotected void
setConstrained(boolean constrained, java.lang.String... propertyNames)
protected void
setDisplayName(java.lang.String displayName, java.lang.String propertyName)
Changes the display name of the given named property.protected void
setEnumerationValues(EnumerationValue[] values, java.lang.String... propertyNames)
protected void
setExpert(boolean expert, java.lang.String... propertyNames)
protected void
setHidden(boolean hidden, java.lang.String... propertyNames)
Sets the given named properties to be "hidden".protected void
setMonoIconName(java.lang.String name)
Specify the name/url/path to the 32x32 monochrome iconprotected void
setPreferred(boolean preferred, java.lang.String... propertyNames)
protected void
setPropertyEditor(java.lang.Class<?> editorClass, java.lang.String... propertyNames)
protected void
setSmallColorIconName(java.lang.String name)
Specify the name/url/path to the small 16x16 color iconprotected void
setSmallMonoIconName(java.lang.String name)
Specify the name/url/path to the small 16x16 monochrome iconprotected void
setTransient(boolean trans, java.lang.String... propertyNames)
Sets the given named properties to be "transient".
-
-
-
Field Detail
-
LOG
private static java.util.logging.Logger LOG
-
introspectingState
private static java.util.Map<java.lang.Class<?>,java.lang.Boolean> introspectingState
Indicates whether I am introspecting state for the give class. This helps prevent infinite loops
-
beanClass
private java.lang.Class<?> beanClass
The class of the bean that this BeanInfoSupport is for
-
defaultPropertyIndex
private int defaultPropertyIndex
- See Also:
BeanInfo
-
defaultEventIndex
private int defaultEventIndex
- See Also:
BeanInfo
-
iconColor16
private java.awt.Image iconColor16
The 16x16 color icon
-
iconColor32
private java.awt.Image iconColor32
The 32x32 color icon
-
iconMono16
private java.awt.Image iconMono16
The 16x16 monochrome icon
-
iconMono32
private java.awt.Image iconMono32
The 32x32 monochrome icon
-
iconNameC16
private java.lang.String iconNameC16
A reference to the icon. This String must be of a form that ImageIO can use to locate and load the icon image
-
iconNameC32
private java.lang.String iconNameC32
A reference to the icon. This String must be of a form that ImageIO can use to locate and load the icon image
-
iconNameM16
private java.lang.String iconNameM16
A reference to the icon. This String must be of a form that ImageIO can use to locate and load the icon image
-
iconNameM32
private java.lang.String iconNameM32
A reference to the icon. This String must be of a form that ImageIO can use to locate and load the icon image
-
beanDescriptor
private java.beans.BeanDescriptor beanDescriptor
-
properties
private java.util.Map<java.lang.String,java.beans.PropertyDescriptor> properties
-
events
private java.util.Map<java.lang.String,java.beans.EventSetDescriptor> events
-
methods
private java.util.Map<java.lang.String,java.beans.MethodDescriptor> methods
-
-
Method Detail
-
isIntrospecting
private boolean isIntrospecting()
-
loadStandardImage
private java.awt.Image loadStandardImage(java.beans.BeanInfo info, int size)
attempts to load a png icon from the resource directory beneath beaninfo, named like: JXTaskPaneContainer16.png JXTaskPaneContainer16-mono.png JXTaskPaneContainer32.png JXTaskPaneContainer32-mono.png if any of the icons is missing, an attempt is made to get an icon via introspection. If that fails, the icon will be set to placeholder16.png or one of the derivatives
-
loadImage
public java.awt.Image loadImage(java.lang.String resourceName)
- Overrides:
loadImage
in classjava.beans.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 java.lang.Class<?> getCustomizerClass()
Override this method if you want to return a custom customizer class for the bean- Returns:
null
.
-
setSmallColorIconName
protected void setSmallColorIconName(java.lang.String name)
Specify the name/url/path to the small 16x16 color icon- Parameters:
name
- name of the icon.
-
setColorIconName
protected void setColorIconName(java.lang.String name)
Specify the name/url/path to the 32x32 color icon- Parameters:
name
- name of the icon.
-
setSmallMonoIconName
protected void setSmallMonoIconName(java.lang.String name)
Specify the name/url/path to the small 16x16 monochrome icon- Parameters:
name
- name of the icon.
-
setMonoIconName
protected void setMonoIconName(java.lang.String name)
Specify the name/url/path to the 32x32 monochrome icon- Parameters:
name
- name of the icon.
-
setDisplayName
protected void setDisplayName(java.lang.String displayName, java.lang.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.
-
setTransient
protected void setTransient(boolean trans, java.lang.String... propertyNames)
Sets the given named properties to be "transient".- Parameters:
trans
- determines whether the properties should be encoded.propertyNames
- name of properties.- See Also:
PropertyDescriptor
-
setHidden
protected void setHidden(boolean hidden, java.lang.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, java.lang.String... propertyNames)
-
setPreferred
protected void setPreferred(boolean preferred, java.lang.String... propertyNames)
-
setBound
protected void setBound(boolean bound, java.lang.String... propertyNames)
-
setConstrained
protected void setConstrained(boolean constrained, java.lang.String... propertyNames)
-
setCategory
protected void setCategory(java.lang.String categoryName, java.lang.String... propertyNames)
-
setPropertyEditor
protected void setPropertyEditor(java.lang.Class<?> editorClass, java.lang.String... propertyNames)
-
setEnumerationValues
protected void setEnumerationValues(EnumerationValue[] values, java.lang.String... propertyNames)
-
getBeanDescriptor
public java.beans.BeanDescriptor getBeanDescriptor()
Gets the bean'sBeanDescriptor
s.- Specified by:
getBeanDescriptor
in interfacejava.beans.BeanInfo
- Overrides:
getBeanDescriptor
in classjava.beans.SimpleBeanInfo
- Returns:
- BeanDescriptor describing the editable properties of this bean. May return null if the information should be obtained by automatic analysis.
-
getPropertyDescriptors
public java.beans.PropertyDescriptor[] getPropertyDescriptors()
Gets the bean'sPropertyDescriptor
s.- Specified by:
getPropertyDescriptors
in interfacejava.beans.BeanInfo
- Overrides:
getPropertyDescriptors
in classjava.beans.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 java.beans.EventSetDescriptor[] getEventSetDescriptors()
Gets the bean'sEventSetDescriptor
s.- Specified by:
getEventSetDescriptors
in interfacejava.beans.BeanInfo
- Overrides:
getEventSetDescriptors
in classjava.beans.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 java.beans.MethodDescriptor[] getMethodDescriptors()
Gets the bean'sMethodDescriptor
s.- Specified by:
getMethodDescriptors
in interfacejava.beans.BeanInfo
- Overrides:
getMethodDescriptors
in classjava.beans.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 interfacejava.beans.BeanInfo
- Overrides:
getDefaultPropertyIndex
in classjava.beans.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 interfacejava.beans.BeanInfo
- Overrides:
getDefaultEventIndex
in classjava.beans.SimpleBeanInfo
- Returns:
- Index of default event in the EventSetDescriptor array
returned by getEventSetDescriptors.
Returns -1 if there is no default event.
-
getIcon
public java.awt.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 interfacejava.beans.BeanInfo
- Overrides:
getIcon
in classjava.beans.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.
-
getImage
private java.awt.Image getImage(java.lang.String name, java.awt.Image img)
-
-