java.lang.Object
javax.swing.AbstractAction
- All Implemented Interfaces:
ActionListener
,Serializable
,Cloneable
,EventListener
,Action
- Direct Known Subclasses:
BasicDesktopPaneUI.CloseAction
,BasicDesktopPaneUI.MaximizeAction
,BasicDesktopPaneUI.MinimizeAction
,BasicDesktopPaneUI.NavigateAction
,BasicDesktopPaneUI.OpenAction
,BasicFileChooserUI.ApproveSelectionAction
,BasicFileChooserUI.CancelSelectionAction
,BasicFileChooserUI.ChangeToParentDirectoryAction
,BasicFileChooserUI.GoHomeAction
,BasicFileChooserUI.NewFolderAction
,BasicFileChooserUI.UpdateAction
,BasicInternalFrameTitlePane.CloseAction
,BasicInternalFrameTitlePane.IconifyAction
,BasicInternalFrameTitlePane.MaximizeAction
,BasicInternalFrameTitlePane.MoveAction
,BasicInternalFrameTitlePane.RestoreAction
,BasicInternalFrameTitlePane.SizeAction
,BasicSliderUI.ActionScroller
,BasicTreeUI.TreeCancelEditingAction
,BasicTreeUI.TreeHomeAction
,BasicTreeUI.TreeIncrementAction
,BasicTreeUI.TreePageAction
,BasicTreeUI.TreeToggleAction
,BasicTreeUI.TreeTraverseAction
,MetalFileChooserUI.DirectoryComboBoxAction
,TextAction
public abstract class AbstractAction extends Object implements Action, Cloneable, Serializable
This class provides default implementations for the JFC
Action
interface. Standard behaviors like the get and set methods for
Action
object properties (icon, text, and enabled) are defined
here. The developer need only subclass this abstract class and
define the actionPerformed
method.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeans™
has been added to the java.beans
package.
Please see XMLEncoder
.
- Since:
- 1.2
- See Also:
Action
-
Field Summary
Fields Modifier and Type Field Description protected SwingPropertyChangeSupport
changeSupport
If anyPropertyChangeListeners
have been registered, thechangeSupport
field describes them.protected boolean
enabled
Specifies whether action is enabled; the default is true.Fields declared in interface javax.swing.Action
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON
-
Constructor Summary
Constructors Constructor Description AbstractAction()
Creates anAction
.AbstractAction(String name)
Creates anAction
with the specified name.AbstractAction(String name, Icon icon)
Creates anAction
with the specified name and small icon. -
Method Summary
Modifier and Type Method Description void
addPropertyChangeListener(PropertyChangeListener listener)
Adds aPropertyChangeListener
to the listener list.protected Object
clone()
Clones the abstract action.protected void
firePropertyChange(String propertyName, Object oldValue, Object newValue)
Supports reporting bound property changes.Object[]
getKeys()
Returns an array ofObject
s which are keys for which values have been set for thisAbstractAction
, ornull
if no keys have values set.PropertyChangeListener[]
getPropertyChangeListeners()
Returns an array of all thePropertyChangeListener
s added to this AbstractAction with addPropertyChangeListener().Object
getValue(String key)
Gets theObject
associated with the specified key.boolean
isEnabled()
Returns true if the action is enabled.void
putValue(String key, Object newValue)
Sets theValue
associated with the specified key.void
removePropertyChangeListener(PropertyChangeListener listener)
Removes aPropertyChangeListener
from the listener list.void
setEnabled(boolean newValue)
Sets whether theAction
is enabled.
-
Field Details
-
enabled
protected boolean enabledSpecifies whether action is enabled; the default is true. -
changeSupport
If anyPropertyChangeListeners
have been registered, thechangeSupport
field describes them.
-
-
Constructor Details
-
AbstractAction
public AbstractAction()Creates anAction
. -
AbstractAction
Creates anAction
with the specified name.- Parameters:
name
- the name (Action.NAME
) for the action; a value ofnull
is ignored
-
AbstractAction
Creates anAction
with the specified name and small icon.- Parameters:
name
- the name (Action.NAME
) for the action; a value ofnull
is ignoredicon
- the small icon (Action.SMALL_ICON
) for the action; a value ofnull
is ignored
-
-
Method Details
-
getValue
Gets theObject
associated with the specified key.- Specified by:
getValue
in interfaceAction
- Parameters:
key
- a string containing the specifiedkey
- Returns:
- the binding
Object
stored with this key; if there are no keys, it will returnnull
- See Also:
Action.getValue(java.lang.String)
-
putValue
Sets theValue
associated with the specified key.- Specified by:
putValue
in interfaceAction
- Parameters:
key
- theString
that identifies the stored objectnewValue
- theObject
to store using this key- See Also:
Action.putValue(java.lang.String, java.lang.Object)
-
isEnabled
public boolean isEnabled()Returns true if the action is enabled.- Specified by:
isEnabled
in interfaceAction
- Returns:
- true if the action is enabled, false otherwise
- See Also:
Action.isEnabled()
-
setEnabled
public void setEnabled(boolean newValue)Sets whether theAction
is enabled. The default istrue
.- Specified by:
setEnabled
in interfaceAction
- Parameters:
newValue
-true
to enable the action,false
to disable it- See Also:
Action.setEnabled(boolean)
-
getKeys
Returns an array ofObject
s which are keys for which values have been set for thisAbstractAction
, ornull
if no keys have values set.- Returns:
- an array of key objects, or
null
if no keys have values set - Since:
- 1.3
-
firePropertyChange
Supports reporting bound property changes. This method can be called when a bound property has changed and it will send the appropriatePropertyChangeEvent
to any registeredPropertyChangeListeners
.- Parameters:
propertyName
- the name of the property that has changedoldValue
- the old value of the propertynewValue
- the new value of the property
-
addPropertyChangeListener
Adds aPropertyChangeListener
to the listener list. The listener is registered for all properties.A
PropertyChangeEvent
will get fired in response to setting a bound property, e.g.setFont
,setBackground
, orsetForeground
. Note that if the current component is inheriting its foreground, background, or font from its container, then no event will be fired in response to a change in the inherited property.- Specified by:
addPropertyChangeListener
in interfaceAction
- Parameters:
listener
- ThePropertyChangeListener
to be added- See Also:
Action.addPropertyChangeListener(java.beans.PropertyChangeListener)
-
removePropertyChangeListener
Removes aPropertyChangeListener
from the listener list. This removes aPropertyChangeListener
that was registered for all properties.- Specified by:
removePropertyChangeListener
in interfaceAction
- Parameters:
listener
- thePropertyChangeListener
to be removed- See Also:
Action.removePropertyChangeListener(java.beans.PropertyChangeListener)
-
getPropertyChangeListeners
Returns an array of all thePropertyChangeListener
s added to this AbstractAction with addPropertyChangeListener().- Returns:
- all of the
PropertyChangeListener
s added or an empty array if no listeners have been added - Since:
- 1.4
-
clone
Clones the abstract action. This gives the clone its own copy of the key/value list, which is not handled for you byObject.clone()
.- Overrides:
clone
in classObject
- Returns:
- a clone of this instance.
- Throws:
CloneNotSupportedException
- if the object's class does not support theCloneable
interface. Subclasses that override theclone
method can also throw this exception to indicate that an instance cannot be cloned.- See Also:
Cloneable
-