@deftypemethod BeanDescriptor {public Class} getBeanClass ()
Get the Bean's class.
@end deftypemethod
@deftypemethod BeanDescriptor {public Class} getCustomizerClass ()
Get the Bean's customizer's class.
@end deftypemethod
@deftypemethod BeanInfo {public BeanDescriptor} getBeanDescriptor ()
Get the general description of this Bean type.
@end deftypemethod
@deftypemethod BeanInfo {public EventSetDescriptor} getEventSetDescriptors ()
Get the events this Bean type fires.
@end deftypemethod
@deftypemethod BeanInfo {public int} getDefaultEventIndex ()
Get the "default" event, basically the one a RAD tool
user is most likely to select.
@end deftypemethod
@deftypemethod BeanInfo {public PropertyDescriptor} getPropertyDescriptors ()
Get the properties (get/set method pairs) this Bean
type supports.
@end deftypemethod
@deftypemethod BeanInfo {public int} getDefaultPropertyIndex ()
Get the "default" property, basically the one a RAD
tool user is most likely to select.
@end deftypemethod
@deftypemethod BeanInfo {public MethodDescriptor} getMethodDescriptors ()
Get the methods this Bean type supports.
@end deftypemethod
@deftypemethod BeanInfo {public BeanInfo} getAdditionalBeanInfo ()
Get additional BeanInfos representing this Bean.
In this version of JavaBeans, this method is used so
that space and time can be saved by reading a BeanInfo
for each class in the hierarchy (super, super(super),
and so on).
The order of precedence when two pieces of BeanInfo
conflict (such as two PropertyDescriptors that have
the same name), in order from highest precedence to
lowest, is:
@itemize @bullet
@item
This BeanInfo object.
@item
@code{getAdditionalBeanInfo()[getAdditionalBeanInfo().length]}
@item
...
@item
@code{getAdditionalBeanInfo()[1]}
@item
@code{getAdditionalBeanInfo()[0]}
@end itemize
Spec Note: It is possible that
returning @code{null} from this method could
stop Introspection in its tracks, but it is unclear
from the spec whether this is the case.
@end deftypemethod
@deftypemethod BeanInfo {public Image} getIcon (int@w{ }@var{iconType})
Get a visual icon for this Bean.
A Bean does not have to support icons, and if it does
support icons, it does not have to support every single
type. Sun recommends that if you only support one
type, you support 16x16 color. Sun also notes that you
should try to use a type (like GIF) that allows for
transparent pixels, so that the background of the RAD
tool can show through.
Spec Note: If you do not support the
type of icon that is being asked for, but you do
support another type, it is unclear whether you should
return the other type or not. I would presume not.
@end deftypemethod
@deftypemethod Beans {public static Object} instantiate (java.lang.ClassLoader@w{ }@var{cl}, java.lang.String@w{ }@var{beanName}) @*throws IOException, ClassNotFoundException
Allows you to instantiate a Bean. This method takes
a ClassLoader from which to read the Bean and the
name of the Bean.
The Bean name should be a dotted name, like a class.
It can represent several things. Beans will search
for the Bean using the name like this:
@itemize @bullet
@item
Searches for a serialized instance of the Bean
using getResource(), mangling the Bean name by
replacing the dots with slashes and appending .ser
(for example, gnu.beans.BlahDeBlah would cause
Beans to search for gnu/beans/BlahDeBlah.ser using
getResource()).
@item
Searches for the Bean class using the beanName,
and then instantiates it with the no-arg constructor.
At that point, if it is an Applet, it provides it
with AppletContext and AppletStub, and then calls
init().
@end itemize
@end deftypemethod
@deftypemethod Beans {public static Object} getInstanceOf (java.lang.Object@w{ }@var{bean}, java.lang.Class@w{ }@var{newClass})
Get the Bean as a different class type.
This should be used instead of casting to get a new
type view of a Bean, because in the future there may
be new types of Bean, even Beans spanning multiple
Objects.
@end deftypemethod
@deftypemethod Beans {public static boolean} isInstanceOf (java.lang.Object@w{ }@var{bean}, java.lang.Class@w{ }@var{newBeanClass})
Determine whether the Bean can be cast to a different
class type.
This should be used instead of instanceof to determine
a Bean's castability, because in the future there may
be new types of Bean, even Beans spanning multiple
Objects.
@end deftypemethod
@deftypemethod Beans {public static boolean} isGuiAvailable ()
Find out whether the GUI is available to use.
Defaults to true.
@end deftypemethod
@deftypemethod Beans {public static boolean} isDesignTime ()
Find out whether it is design time. Design time means
we are in a RAD tool.
Defaults to false.
@end deftypemethod
@deftypemethod Beans {public static void} setGuiAvailable (boolean@w{ }@var{guiAvailable}) @*throws SecurityException
Set whether the GUI is available to use.
@end deftypemethod
@deftypemethod Beans {public static void} setDesignTime (boolean@w{ }@var{designTime}) @*throws SecurityException
Set whether it is design time. Design time means we
are in a RAD tool.
@end deftypemethod
@deftypemethod Customizer {public void} setObject (java.lang.Object@w{ }@var{bean})
Set the object to Customize. This will always be a
Bean that had a BeanDescriptor indicating this
Customizer.
@end deftypemethod
@deftypemethod Customizer {public void} addPropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l})
Add a PropertyChangeListener.
@end deftypemethod
@deftypemethod Customizer {public void} removePropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l})
Remove a PropertyChangeListener.
@end deftypemethod
@deftypemethod DesignMode {public void} setDesignTime (boolean@w{ }@var{designTime})
The environment will call this method on your
@code{BeanContextChild} when it is registered in a parent
@code{BeanContext} or when behavior needs to switch from
design time to runtime behavior (or vice versa).
@code{BeanContext}s are required to fire
@code{PropertyChangeEvent}s when properties change.
@code{designTime} is a property, and therefore when you
implement @code{setDesignTime()}, you need to fire a
@code{PropertyChangeEvent} with the old value, the new
value and using @code{PROPERTYNAME} as the property name.
@end deftypemethod
@deftypemethod DesignMode {public boolean} isDesignTime ()
This method should tell whether it is design time or runtime.
@end deftypemethod
@deftypemethod EventSetDescriptor {public Class} getListenerType ()
Get the class that contains the event firing methods.
@end deftypemethod
@deftypemethod EventSetDescriptor {public Method} getListenerMethods ()
Get the event firing methods.
@end deftypemethod
@deftypemethod EventSetDescriptor {public MethodDescriptor} getListenerMethodDescriptors ()
Get the event firing methods as MethodDescriptors.
@end deftypemethod
@deftypemethod EventSetDescriptor {public Method} getAddListenerMethod ()
Get the add listener method.
@end deftypemethod
@deftypemethod EventSetDescriptor {public Method} getRemoveListenerMethod ()
Get the remove listener method.
@end deftypemethod
@deftypemethod EventSetDescriptor {public void} setUnicast (boolean@w{ }@var{unicast})
Set whether or not multiple listeners may be added.
@end deftypemethod
@deftypemethod EventSetDescriptor {public boolean} isUnicast ()
Get whether or not multiple listeners may be added. (Defaults to false.)
@end deftypemethod
@deftypemethod EventSetDescriptor {public void} setInDefaultEventSet (boolean@w{ }@var{inDefaultEventSet})
Set whether or not this is in the default event set.
@end deftypemethod
@deftypemethod EventSetDescriptor {public boolean} isInDefaultEventSet ()
Get whether or not this is in the default event set. (Defaults to true.)
@end deftypemethod
@deftypemethod FeatureDescriptor {public String} getName ()
Get the programmatic name of this feature.
@end deftypemethod
@deftypemethod FeatureDescriptor {public void} setName (java.lang.String@w{ }@var{name})
Set the programmatic name of this feature.
@end deftypemethod
@deftypemethod FeatureDescriptor {public String} getDisplayName ()
Get the localized (display) name of this feature.
@end deftypemethod
@deftypemethod FeatureDescriptor {public void} setDisplayName (java.lang.String@w{ }@var{displayName})
Set the localized (display) name of this feature.
@end deftypemethod
@deftypemethod FeatureDescriptor {public String} getShortDescription ()
Get the localized short description for this feature.
@end deftypemethod
@deftypemethod FeatureDescriptor {public void} setShortDescription (java.lang.String@w{ }@var{shortDescription})
Set the localized short description for this feature.
@end deftypemethod
@deftypemethod FeatureDescriptor {public boolean} isExpert ()
Indicates whether this feature is for expert use only.
@end deftypemethod
@deftypemethod FeatureDescriptor {public void} setExpert (boolean@w{ }@var{expert})
Set whether this feature is for expert use only.
@end deftypemethod
@deftypemethod FeatureDescriptor {public boolean} isHidden ()
Indicates whether this feature is for use by tools only.
If it is for use by tools only, then it should not be displayed.
@end deftypemethod
@deftypemethod FeatureDescriptor {public void} setHidden (boolean@w{ }@var{hidden})
Set whether this feature is for use by tools only.
If it is for use by tools only, then it should not be displayed.
@end deftypemethod
@deftypemethod FeatureDescriptor {public Object} getValue (java.lang.String@w{ }@var{name})
Get an arbitrary value set with setValue().
@end deftypemethod
@deftypemethod FeatureDescriptor {public void} setValue (java.lang.String@w{ }@var{name}, java.lang.Object@w{ }@var{value})
Set an arbitrary string-value pair with this feature.
@end deftypemethod
@deftypemethod FeatureDescriptor {public Enumeration} attributeNames ()
Get a list of the programmatic key names set with setValue().
@end deftypemethod
@deftypemethod IndexedPropertyDescriptor {public Class} getIndexedPropertyType ()
@end deftypemethod
@deftypemethod IndexedPropertyDescriptor {public Method} getIndexedReadMethod ()
@end deftypemethod
@deftypemethod IndexedPropertyDescriptor {public Method} getIndexedWriteMethod ()
@end deftypemethod
@deftypemethod Introspector {public static BeanInfo} getBeanInfo (java.lang.Class@w{ }@var{beanClass}) @*throws IntrospectionException
Get the BeanInfo for class @code{beanClass},
first by looking for explicit information, next by
using standard design patterns to determine
information about the class.
@end deftypemethod
@deftypemethod Introspector {public static BeanInfo} getBeanInfo (java.lang.Class@w{ }@var{beanClass}, java.lang.Class@w{ }@var{stopClass}) @*throws IntrospectionException
Get the BeanInfo for class @code{beanClass},
first by looking for explicit information, next by
using standard design patterns to determine
information about the class. It crawls up the
inheritance tree until it hits @code{topClass}.
@end deftypemethod
@deftypemethod Introspector {public static String} getBeanInfoSearchPath ()
Get the search path for BeanInfo classes.
@end deftypemethod
@deftypemethod Introspector {public static void} setBeanInfoSearchPath (java.lang.String[]@w{ }@var{beanInfoSearchPath})
Set the search path for BeanInfo classes.
@end deftypemethod
@deftypemethod Introspector {public static String} decapitalize (java.lang.String@w{ }@var{name})
A helper method to convert a name to standard Java
naming conventions: anything with two capitals as the
first two letters remains the same, otherwise the
first letter is decapitalized. URL = URL, I = i,
MyMethod = myMethod.
@end deftypemethod
@deftypemethod MethodDescriptor {public ParameterDescriptor} getParameterDescriptors ()
Get the parameter descriptors from this method.
Since MethodDescriptor has no way of determining what
the parameter names were, this defaults to null.
@end deftypemethod
@deftypemethod MethodDescriptor {public Method} getMethod ()
Get the method this MethodDescriptor represents.
@end deftypemethod
@deftypemethod PropertyChangeEvent {public String} getPropertyName ()
Get the property name.
@end deftypemethod
@deftypemethod PropertyChangeEvent {public Object} getOldValue ()
Get the property's old value.
@end deftypemethod
@deftypemethod PropertyChangeEvent {public Object} getNewValue ()
Get the property's new value.
@end deftypemethod
@deftypemethod PropertyChangeEvent {public void} setPropagationId (java.lang.Object@w{ }@var{propagationId})
Set the propagation ID. This is a way for the event
to be passed from hand to hand and retain a little
extra state. Right now it is unused, but it should
be propagated anyway so that future versions of
JavaBeans can use it, for God knows what.
@end deftypemethod
@deftypemethod PropertyChangeEvent {public Object} getPropagationId ()
Get the propagation ID.
@end deftypemethod
@deftypemethod PropertyChangeListener {public void} propertyChange (java.beans.PropertyChangeEvent@w{ }@var{e})
Fired after a Bean's property has changed.
@end deftypemethod
@deftypemethod PropertyChangeSupport {public void} addPropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l})
Adds a PropertyChangeListener to the list of listeners.
All property change events will be sent to this listener.
The listener add is not unique: that is, n adds with
the same listener will result in n events being sent
to that listener for every property change.
Adding a null listener will cause undefined behavior.
@end deftypemethod
@deftypemethod PropertyChangeSupport {public void} addPropertyChangeListener (java.lang.String@w{ }@var{propertyName}, java.beans.PropertyChangeListener@w{ }@var{l})
Adds a PropertyChangeListener listening on the specified property.
Events will be sent to the listener for that particular property.
The listener add is not unique; that is, n adds on a
particular property for a particular listener will result in
n events being sent to that listener when that
property is changed.
The effect is cumulative, too; if you are registered to listen
to receive events on all property changes, and then you
register on a particular property, you will receive change
events for that property twice.
Adding a null listener will cause undefined behavior.
@end deftypemethod
@deftypemethod PropertyChangeSupport {public void} removePropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l})
Removes a PropertyChangeListener from the list of listeners.
If any specific properties are being listened on, they must
be deregistered by themselves; this will only remove the
general listener to all properties.
If @code{add()} has been called multiple times for a
particular listener, @code{remove()} will have to be
called the same number of times to deregister it.
@end deftypemethod
@deftypemethod PropertyChangeSupport {public void} removePropertyChangeListener (java.lang.String@w{ }@var{propertyName}, java.beans.PropertyChangeListener@w{ }@var{l})
Removes a PropertyChangeListener from listening to a specific property.
If @code{add()} has been called multiple times for a
particular listener on a property, @code{remove()} will
have to be called the same number of times to deregister it.
@end deftypemethod
@deftypemethod PropertyChangeSupport {public void} firePropertyChange (java.beans.PropertyChangeEvent@w{ }@var{event})
Fire a PropertyChangeEvent to all the listeners.
@end deftypemethod
@deftypemethod PropertyChangeSupport {public void} firePropertyChange (java.lang.String@w{ }@var{propertyName}, java.lang.Object@w{ }@var{oldVal}, java.lang.Object@w{ }@var{newVal})
Fire a PropertyChangeEvent containing the old and new values of the property to all the listeners.
@end deftypemethod
@deftypemethod PropertyChangeSupport {public void} firePropertyChange (java.lang.String@w{ }@var{propertyName}, boolean@w{ }@var{oldVal}, boolean@w{ }@var{newVal})
Fire a PropertyChangeEvent containing the old and new values of the property to all the listeners.
@end deftypemethod
@deftypemethod PropertyChangeSupport {public void} firePropertyChange (java.lang.String@w{ }@var{propertyName}, int@w{ }@var{oldVal}, int@w{ }@var{newVal})
Fire a PropertyChangeEvent containing the old and new values of the property to all the listeners.
@end deftypemethod
@deftypemethod PropertyChangeSupport {public boolean} hasListeners (java.lang.String@w{ }@var{propertyName})
Tell whether the specified property is being listened on or not.
This will only return @code{true} if there are listeners
on all properties or if there is a listener specifically on this
property.
@end deftypemethod
@deftypemethod PropertyDescriptor {public Class} getPropertyType ()
Get the property type.
This is the type the get method returns and the set method
takes in.
@end deftypemethod
@deftypemethod PropertyDescriptor {public Method} getReadMethod ()
Get the get method. Why they call it readMethod here and
get everywhere else is beyond me.
@end deftypemethod
@deftypemethod PropertyDescriptor {public Method} getWriteMethod ()
Get the set method. Why they call it writeMethod here and
set everywhere else is beyond me.
@end deftypemethod
@deftypemethod PropertyDescriptor {public boolean} isBound ()
Get whether the property is bound. Defaults to false.
@end deftypemethod
@deftypemethod PropertyDescriptor {public void} setBound (boolean@w{ }@var{bound})
Set whether the property is bound.
As long as the the bean implements addPropertyChangeListener() and
removePropertyChangeListener(), setBound(true) may safely be called.
If these things are not true, then the behavior of the system
will be undefined.
When a property is bound, its set method is required to fire the
@code{PropertyChangeListener.propertyChange())} event
after the value has changed.
@end deftypemethod
@deftypemethod PropertyDescriptor {public boolean} isConstrained ()
Get whether the property is constrained. Defaults to false.
@end deftypemethod
@deftypemethod PropertyDescriptor {public void} setConstrained (boolean@w{ }@var{constrained})
Set whether the property is constrained.
If the set method throws @code{java.beans.PropertyVetoException}
(or subclass thereof) and the bean implements addVetoableChangeListener()
and removeVetoableChangeListener(), then setConstrained(true) may safely
be called. Otherwise, the system behavior is undefined.
Spec note: given those strict parameters, it would be nice if it
got set automatically by detection, but oh well.
When a property is constrained, its set method is required to:
@itemize @bullet
@item
Fire the @code{VetoableChangeListener.vetoableChange()}
event notifying others of the change and allowing them a chance to
say it is a bad thing.
@item
If any of the listeners throws a PropertyVetoException, then
it must fire another vetoableChange() event notifying the others
of a reversion to the old value (though, of course, the change
was never made). Then it rethrows the PropertyVetoException and
exits.
@item
If all has gone well to this point, the value may be changed.
@end itemize
@end deftypemethod
@deftypemethod PropertyDescriptor {public Class} getPropertyEditorClass ()
Get the PropertyEditor class. Defaults to null.
@end deftypemethod
@deftypemethod PropertyDescriptor {public void} setPropertyEditorClass (java.lang.Class@w{ }@var{propertyEditorClass})
Set the PropertyEditor class. If the class does not implement
the PropertyEditor interface, you will likely get an exception
late in the game.
@end deftypemethod
@deftypemethod PropertyEditor {public void} setValue (java.lang.Object@w{ }@var{value})
Called by the RAD tool to set the value of this property for the PropertyEditor.
If the property type is native, it should be wrapped in the appropriate
wrapper type.
@end deftypemethod
@deftypemethod PropertyEditor {public Object} getValue ()
Accessor method to get the current value the PropertyEditor is working with.
If the property type is native, it will be wrapped in the appropriate
wrapper type.
@end deftypemethod
@deftypemethod PropertyEditor {public void} setAsText (java.lang.String@w{ }@var{text}) @*throws IllegalArgumentException
Set the value of this property using a String.
Whether or not this PropertyEditor is editing a String type, this converts
the String into the type of the PropertyEditor.
@end deftypemethod
@deftypemethod PropertyEditor {public String} getAsText ()
Get the value of this property in String format.
Many times this can simply use Object.toString().
Return null if you do not support getAsText()/setAsText().
@code{setAsText(getAsText())} should be valid; i.e. the stuff you spit out in
getAsText() should be able to go into setAsText().
@end deftypemethod
@deftypemethod PropertyEditor {public String} getTags ()
Get a list of possible Strings which this property type can have.
The value of these will be used by the RAD tool to construct some sort
of list box or to check text box input, and the resulting String passed
to setAsText() should be one of these. Note, however, that like most things
with this mammoth, unwieldy interface, this is not guaranteed. Thus, you
must check the value in setAsText() anyway.
@end deftypemethod
@deftypemethod PropertyEditor {public boolean} isPaintable ()
The RAD tool calls this to find out whether the PropertyEditor can paint itself.
@end deftypemethod
@deftypemethod PropertyEditor {public void} paintValue (java.awt.Graphics@w{ }@var{g}, java.awt.Rectangle@w{ }@var{bounds})
The RAD tool calls this to paint the actual value of the property.
The Graphics context will have the same current font, color, etc. as the
parent Container. You may safely change the font, color, etc. and not
change them back.
This method should do a silent no-op if isPaintable() is false.
@end deftypemethod
@deftypemethod PropertyEditor {public boolean} supportsCustomEditor ()
The RAD tool calls this to find out whether the PropertyEditor supports a custom component to edit and display itself.
@end deftypemethod
@deftypemethod PropertyEditor {public Component} getCustomEditor ()
The RAD tool calls this to grab the component that can edit this type.
The component may be painted anywhere the RAD tool wants to paint it--
even in its own window.
The component must hook up with the PropertyEditor and, whenever a
change to the value is made, fire a PropertyChangeEvent to the source.
@end deftypemethod
@deftypemethod PropertyEditor {public void} addPropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{listener})
Adds a property change listener to this PropertyEditor.
@end deftypemethod
@deftypemethod PropertyEditor {public void} removePropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{listener})
Removes a property change listener from this PropertyEditor.
@end deftypemethod
@deftypemethod PropertyEditor {public String} getJavaInitializationString ()
Get a Java language-specific String which could be used to create an Object
of the specified type. Every PropertyEditor must support this.
The reason for this is that while most RAD tools will serialize the Beans
and deserialize them at runtime, some RAD tools will generate code that
creates the Beans. Examples of Java initialization strings would be:
@itemize @bullet
@item
@code{2}
@item
@code{"I am a String"}
@item
@code{new MyObject(2, "String", new StringBuffer())}
@end itemize
@end deftypemethod
@deftypemethod PropertyEditorManager {public static void} registerEditor (java.lang.Class@w{ }@var{editedClass}, java.lang.Class@w{ }@var{editorClass})
Register an editor for a class. Replaces old editor
if there was one registered before.
@end deftypemethod
@deftypemethod PropertyEditorManager {public static PropertyEditor} findEditor (java.lang.Class@w{ }@var{editedClass})
Returns a new instance of the property editor for the
specified class.
@end deftypemethod
@deftypemethod PropertyEditorManager {public static String} getEditorSearchPath ()
Get the editor search path.
As a minor departure from the spec, the default value
for the editor search path is "gnu.java.beans.editors",
"sun.beans.editors".
@end deftypemethod
@deftypemethod PropertyEditorManager {public static void} setEditorSearchPath (java.lang.String[]@w{ }@var{editorSearchPath})
Set the editor search path.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public void} setValue (java.lang.Object@w{ }@var{val})
Set the current value of the property.
Implementation Note Sun does not
state what exactly this version of the method does.
Thus, in this implementation, it sets the value, and
then if the old and new values are different, it
fires a property change event with no property name
and the old and new values.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public Object} getValue ()
Get the current value of the property.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public boolean} isPaintable ()
Get whether this object is paintable or not.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public void} paintValue (java.awt.Graphics@w{ }@var{g}, java.awt.Rectangle@w{ }@var{r})
Paint this object. This class does nothing in
this method.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public String} getJavaInitializationString ()
Get the Java initialization String for the current
value of the Object. This class returns gibberish or
null (though the spec does not say which).
Implementation Note: This class
returns the string "@$#^" to make sure the code will
be broken, so that you will know to override it when
you create your own property editor.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public String} getAsText ()
Get the value as text.
In this class, you cannot count on getAsText() doing
anything useful, although in this implementation I
do toString().
@end deftypemethod
@deftypemethod PropertyEditorSupport {public void} setAsText (java.lang.String@w{ }@var{s}) @*throws IllegalArgumentException
Set the value as text.
In this class, you cannot count on setAsText() doing
anything useful across implementations.
Implementation Note: In this
implementation it checks if the String is "null", and
if it is, sets the value to null, otherwise it throws
an IllegalArgumentException.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public String} getTags ()
Returns a list of possible choices for the value.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public Component} getCustomEditor ()
Return a custom component to edit the value.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public boolean} supportsCustomEditor ()
Find out whether this property editor supports a
custom component to edit its value.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public void} addPropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l})
Add a property change listener to this property editor.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public void} removePropertyChangeListener (java.beans.PropertyChangeListener@w{ }@var{l})
Remove a property change listener from this property editor.
@end deftypemethod
@deftypemethod PropertyEditorSupport {public void} firePropertyChange ()
Notify people that we've changed, although we don't
tell them just how. The only thing I can think of to
send in the event is the new value (since the old value
is unavailable and there is no property name).
I confess I do not understand the point of this method.
@end deftypemethod
@deftypemethod PropertyVetoException {public PropertyChangeEvent} getPropertyChangeEvent ()
Get the PropertyChange event that was vetoed.
@end deftypemethod
@deftypemethod SimpleBeanInfo {public BeanDescriptor} getBeanDescriptor ()
Force Introspection of the general bean info.
@end deftypemethod
@deftypemethod SimpleBeanInfo {public EventSetDescriptor} getEventSetDescriptors ()
Force Introspection of the events this Bean type
fires.
@end deftypemethod
@deftypemethod SimpleBeanInfo {public int} getDefaultEventIndex ()
Say that there is no "default" event set.
@end deftypemethod
@deftypemethod SimpleBeanInfo {public PropertyDescriptor} getPropertyDescriptors ()
Force Introspection of the Bean properties.
@end deftypemethod
@deftypemethod SimpleBeanInfo {public int} getDefaultPropertyIndex ()
Say that there is no "default" property.
@end deftypemethod
@deftypemethod SimpleBeanInfo {public MethodDescriptor} getMethodDescriptors ()
Force Introspection of the Bean's methods.
@end deftypemethod
@deftypemethod SimpleBeanInfo {public BeanInfo} getAdditionalBeanInfo ()
Tell the Introspector to go look for other BeanInfo
itself.
@end deftypemethod
@deftypemethod SimpleBeanInfo {public Image} getIcon (int@w{ }@var{iconType})
Say that this Bean has no icons.
@end deftypemethod
@deftypemethod SimpleBeanInfo {public Image} loadImage (java.lang.String@w{ }@var{location})
Helper method to load an image using the Bean class
getResource() method on the BeanInfo class (using
getClass(), since you'll extend this class to get
the BeanInfo). Basically it's assumed that the Bean
and its BeanInfo are both loaded by the same
ClassLoader, generally a reasonable assumption.
@end deftypemethod
@deftypemethod VetoableChangeListener {public void} vetoableChange (java.beans.PropertyChangeEvent@w{ }@var{e}) @*throws PropertyVetoException
Fired before a Bean's property changes.
@end deftypemethod
@deftypemethod VetoableChangeSupport {public void} addVetoableChangeListener (java.beans.VetoableChangeListener@w{ }@var{l})
Adds a VetoableChangeListener to the list of listeners.
All property change events will be sent to this listener.
The listener add is not unique: that is, n adds with
the same listener will result in n events being sent
to that listener for every property change.
Adding a null listener will cause undefined behavior.
@end deftypemethod
@deftypemethod VetoableChangeSupport {public void} addVetoableChangeListener (java.lang.String@w{ }@var{propertyName}, java.beans.VetoableChangeListener@w{ }@var{l})
Adds a VetoableChangeListener listening on the specified property.
Events will be sent to the listener for that particular property.
The listener add is not unique; that is, n adds on a
particular property for a particular listener will result in
n events being sent to that listener when that
property is changed.
The effect is cumulative, too; if you are registered to listen
to receive events on all property changes, and then you
register on a particular property, you will receive change
events for that property twice.
Adding a null listener will cause undefined behavior.
@end deftypemethod
@deftypemethod VetoableChangeSupport {public void} removeVetoableChangeListener (java.beans.VetoableChangeListener@w{ }@var{l})
Removes a VetoableChangeListener from the list of listeners.
If any specific properties are being listened on, they must
be deregistered by themselves; this will only remove the
general listener to all properties.
If @code{add()} has been called multiple times for a
particular listener, @code{remove()} will have to be
called the same number of times to deregister it.
@end deftypemethod
@deftypemethod VetoableChangeSupport {public void} removeVetoableChangeListener (java.lang.String@w{ }@var{propertyName}, java.beans.VetoableChangeListener@w{ }@var{l})
Removes a VetoableChangeListener from listening to a specific property.
If @code{add()} has been called multiple times for a
particular listener on a property, @code{remove()} will
have to be called the same number of times to deregister it.
@end deftypemethod
@deftypemethod VetoableChangeSupport {public void} fireVetoableChange (java.beans.PropertyChangeEvent@w{ }@var{proposedChange}) @*throws PropertyVetoException
Fire a VetoableChangeEvent to all the listeners.
If any listener objects, a reversion event will be sent to
those listeners who received the initial event.
@end deftypemethod
@deftypemethod VetoableChangeSupport {public void} fireVetoableChange (java.lang.String@w{ }@var{propertyName}, java.lang.Object@w{ }@var{oldVal}, java.lang.Object@w{ }@var{newVal}) @*throws PropertyVetoException
Fire a VetoableChangeEvent containing the old and new values of the property to all the listeners.
If any listener objects, a reversion event will be sent to
those listeners who received the initial event.
@end deftypemethod
@deftypemethod VetoableChangeSupport {public void} fireVetoableChange (java.lang.String@w{ }@var{propertyName}, boolean@w{ }@var{oldVal}, boolean@w{ }@var{newVal}) @*throws PropertyVetoException
Fire a VetoableChangeEvent containing the old and new values of the property to all the listeners.
If any listener objects, a reversion event will be sent to
those listeners who received the initial event.
@end deftypemethod
@deftypemethod VetoableChangeSupport {public void} fireVetoableChange (java.lang.String@w{ }@var{propertyName}, int@w{ }@var{oldVal}, int@w{ }@var{newVal}) @*throws PropertyVetoException
Fire a VetoableChangeEvent containing the old and new values of the property to all the listeners.
If any listener objects, a reversion event will be sent to
those listeners who received the initial event.
@end deftypemethod
@deftypemethod VetoableChangeSupport {public boolean} hasListeners (java.lang.String@w{ }@var{propertyName})
Tell whether the specified property is being listened on or not.
This will only return @code{true} if there are listeners
on all properties or if there is a listener specifically on this
property.
@end deftypemethod
@deftypemethod Visibility {public boolean} needsGui ()
Tells whether the Bean can run without a GUI or not.
@end deftypemethod
@deftypemethod Visibility {public boolean} avoidingGui ()
Tells whether Bean is trying not to use the GUI.
If needsGui() is true, this method should always return false.
@end deftypemethod
@deftypemethod Visibility {public void} dontUseGui ()
Tells the Bean not to use GUI methods.
If needsGUI() is false, then after this method is called,
avoidingGui() should return true.
@end deftypemethod
@deftypemethod Visibility {public void} okToUseGui ()
Tells the Bean it may use the GUI.
The Bean is not required to use the GUI in this case, it is
merely being permitted to use it. If needsGui() is
false, avoidingGui() may return true or false after this method
is called.
@end deftypemethod