Class AbstractAction
- 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
, Serialized Form
Field Summary
Modifier and Type | Field | Description |
---|---|---|
protected SwingPropertyChangeSupport | changeSupport | If any |
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
Constructor | Description |
---|---|
AbstractAction() | Creates an |
AbstractAction(String name) | Creates an |
AbstractAction(String name,
Icon icon) | Creates an |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
void | addPropertyChangeListener(PropertyChangeListener listener) | Adds a |
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 of |
PropertyChangeListener[] | getPropertyChangeListeners() | Returns an array of all the |
Object | getValue(String key) | Gets the |
boolean | isEnabled() | Returns true if the action is enabled. |
void | putValue(String key,
Object newValue) | Sets the |
void | removePropertyChangeListener(PropertyChangeListener listener) | Removes a |
void | setEnabled(boolean newValue) | Sets whether the |
Methods declared in class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface javax.swing.Action
accept
Methods declared in interface java.awt.event.ActionListener
actionPerformed
Field Detail
enabled
protected boolean enabled
Specifies whether action is enabled; the default is true.
changeSupport
protected SwingPropertyChangeSupport changeSupport
If any PropertyChangeListeners
have been registered, the changeSupport
field describes them.
Constructor Detail
AbstractAction
public AbstractAction()
Creates an Action
.
AbstractAction
public AbstractAction(String name)
Creates an Action
with the specified name.
- Parameters:
-
name
- the name (Action.NAME
) for the action; a value ofnull
is ignored
AbstractAction
public AbstractAction(String name, Icon icon)
Creates an Action
with the specified name and small icon.
- Parameters:
-
name
- the name (Action.NAME
) for the action; a value ofnull
is ignored -
icon
- the small icon (Action.SMALL_ICON
) for the action; a value ofnull
is ignored
Method Detail
getValue
public Object getValue(String key)
Gets the Object
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
public void putValue(String key, Object newValue)
Sets the Value
associated with the specified key.
- Specified by:
-
putValue
in interfaceAction
- Parameters:
-
key
- theString
that identifies the stored object -
newValue
- 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 the Action
is enabled. The default is true
.
- Specified by:
-
setEnabled
in interfaceAction
- Parameters:
-
newValue
-true
to enable the action,false
to disable it - See Also:
Action.setEnabled(boolean)
getKeys
public Object[] getKeys()
Returns an array of Object
s which are keys for which values have been set for this AbstractAction
, or null
if no keys have values set.
- Returns:
- an array of key objects, or
null
if no keys have values set - Since:
- 1.3
firePropertyChange
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Supports reporting bound property changes. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent
to any registered PropertyChangeListeners
.
- Parameters:
-
propertyName
- the name of the property that has changed -
oldValue
- the old value of the property -
newValue
- the new value of the property
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener
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
, or setForeground
. 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
public void removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener
from the listener list. This removes a PropertyChangeListener
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
public PropertyChangeListener[] getPropertyChangeListeners()
Returns an array of all the PropertyChangeListener
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
protected Object clone() throws CloneNotSupportedException
Clones the abstract action. This gives the clone its own copy of the key/value list, which is not handled for you by Object.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