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.SimpleBeanInfoUseful baseclass for BeanInfos. With this class, normal introspection occurs and then you are given the opportunity to reconfigure portions of the bean info in theinitializemethod.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Class<?>beanClassThe class of the bean that this BeanInfoSupport is forprivate java.beans.BeanDescriptorbeanDescriptorprivate intdefaultEventIndexprivate intdefaultPropertyIndexprivate java.util.Map<java.lang.String,java.beans.EventSetDescriptor>eventsprivate java.awt.ImageiconColor16The 16x16 color iconprivate java.awt.ImageiconColor32The 32x32 color iconprivate java.awt.ImageiconMono16The 16x16 monochrome iconprivate java.awt.ImageiconMono32The 32x32 monochrome iconprivate java.lang.StringiconNameC16A reference to the icon.private java.lang.StringiconNameC32A reference to the icon.private java.lang.StringiconNameM16A reference to the icon.private java.lang.StringiconNameM32A reference to the icon.private static java.util.Map<java.lang.Class<?>,java.lang.Boolean>introspectingStateIndicates whether I am introspecting state for the give class.private static java.util.logging.LoggerLOGprivate java.util.Map<java.lang.String,java.beans.MethodDescriptor>methodsprivate 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.BeanDescriptorgetBeanDescriptor()Gets the bean'sBeanDescriptors.protected java.lang.Class<?>getCustomizerClass()Override this method if you want to return a custom customizer class for the beanintgetDefaultEventIndex()A bean may have a "default" event that is the event that will mostly commonly be used by human's when using the bean.intgetDefaultPropertyIndex()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'sEventSetDescriptors.java.awt.ImagegetIcon(int iconKind)This method returns an image object that can be used to represent the bean in toolboxes, toolbars, etc.private java.awt.ImagegetImage(java.lang.String name, java.awt.Image img)java.beans.MethodDescriptor[]getMethodDescriptors()Gets the bean'sMethodDescriptors.java.beans.PropertyDescriptor[]getPropertyDescriptors()Gets the bean'sPropertyDescriptors.protected abstract voidinitialize()Called by the constructor during the proper time so that subclasses can override the settings/values for the various beaninfo properties.private booleanisIntrospecting()java.awt.ImageloadImage(java.lang.String resourceName)private java.awt.ImageloadStandardImage(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 voidsetBound(boolean bound, java.lang.String... propertyNames)protected voidsetCategory(java.lang.String categoryName, java.lang.String... propertyNames)protected voidsetColorIconName(java.lang.String name)Specify the name/url/path to the 32x32 color iconprotected voidsetConstrained(boolean constrained, java.lang.String... propertyNames)protected voidsetDisplayName(java.lang.String displayName, java.lang.String propertyName)Changes the display name of the given named property.protected voidsetEnumerationValues(EnumerationValue[] values, java.lang.String... propertyNames)protected voidsetExpert(boolean expert, java.lang.String... propertyNames)protected voidsetHidden(boolean hidden, java.lang.String... propertyNames)Sets the given named properties to be "hidden".protected voidsetMonoIconName(java.lang.String name)Specify the name/url/path to the 32x32 monochrome iconprotected voidsetPreferred(boolean preferred, java.lang.String... propertyNames)protected voidsetPropertyEditor(java.lang.Class<?> editorClass, java.lang.String... propertyNames)protected voidsetSmallColorIconName(java.lang.String name)Specify the name/url/path to the small 16x16 color iconprotected voidsetSmallMonoIconName(java.lang.String name)Specify the name/url/path to the small 16x16 monochrome iconprotected voidsetTransient(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:
loadImagein 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'sBeanDescriptors.- Specified by:
getBeanDescriptorin interfacejava.beans.BeanInfo- Overrides:
getBeanDescriptorin 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'sPropertyDescriptors.- Specified by:
getPropertyDescriptorsin interfacejava.beans.BeanInfo- Overrides:
getPropertyDescriptorsin 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'sEventSetDescriptors.- Specified by:
getEventSetDescriptorsin interfacejava.beans.BeanInfo- Overrides:
getEventSetDescriptorsin 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'sMethodDescriptors.- Specified by:
getMethodDescriptorsin interfacejava.beans.BeanInfo- Overrides:
getMethodDescriptorsin 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:
getDefaultPropertyIndexin interfacejava.beans.BeanInfo- Overrides:
getDefaultPropertyIndexin 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:
getDefaultEventIndexin interfacejava.beans.BeanInfo- Overrides:
getDefaultEventIndexin 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:
getIconin interfacejava.beans.BeanInfo- Overrides:
getIconin 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)
-
-