Class 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
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:
Field Summary
| Modifier and Type | Field | Description |
|---|---|---|
protected SwingPropertyChangeSupport |
changeSupport |
If any PropertyChangeListeners have been registered, the changeSupport field describes them. |
protected boolean |
enabled |
Specifies whether action is enabled; the default is true. |
Fields declared in interface 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 | Modifier and Type | Field | Description |
|---|---|---|
static final String |
ACCELERATOR_KEY |
The key used for storing a KeyStroke to be used as the accelerator for the action. |
static final String |
ACTION_COMMAND_KEY |
The key used to determine the command String for the ActionEvent that will be created when an Action is going to be notified as the result of residing in a Keymap associated with a JComponent. |
static final String |
DEFAULT |
Not currently used. |
static final String |
DISPLAYED_MNEMONIC_INDEX_KEY |
The key used for storing an Integer that corresponds to the index in the text (identified by the NAME property) that the decoration for a mnemonic should be rendered at. |
static final String |
LARGE_ICON_KEY |
The key used for storing an Icon. |
static final String |
LONG_DESCRIPTION |
The key used for storing a longer String description for the action, could be used for context-sensitive help. |
static final String |
MNEMONIC_KEY |
The key used for storing an Integer that corresponds to one of the KeyEvent key codes. |
static final String |
NAME |
The key used for storing the String name for the action, used for a menu or button. |
static final String |
SELECTED_KEY |
The key used for storing a Boolean that corresponds to the selected state. |
static final String |
SHORT_DESCRIPTION |
The key used for storing a short String description for the action, used for tooltip text. |
static final String |
SMALL_ICON |
The key used for storing a small Icon, such as ImageIcon. |
Constructor Summary
| Constructor | Description |
|---|---|
AbstractAction() |
Creates an Action. |
AbstractAction |
Creates an Action with the specified name. |
AbstractAction |
Creates an Action with the specified name and small icon. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
void |
addPropertyChangeListener |
Adds a PropertyChangeListener to the listener list. |
protected Object |
clone() |
Clones the abstract action. |
protected void |
firePropertyChange |
Supports reporting bound property changes. |
Object[] |
getKeys() |
Returns an array of Objects which are keys for which values have been set for this AbstractAction, or null if no keys have values set. |
PropertyChangeListener[] |
getPropertyChangeListeners() |
Returns an array of all the PropertyChangeListeners added to this AbstractAction with addPropertyChangeListener(). |
Object |
getValue |
Gets the Object associated with the specified key. |
boolean |
isEnabled() |
Returns true if the action is enabled. |
void |
putValue |
Sets the Value associated with the specified key. |
void |
removePropertyChangeListener |
Removes a PropertyChangeListener from the listener list. |
void |
setEnabled |
Sets whether the Action is enabled. |
Methods declared in class Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Modifier and Type | Method | Description |
|---|---|---|
boolean |
equals |
Indicates whether some other object is "equal to" this one. |
protected void |
finalize() |
Deprecated, for removal: This API element is subject to removal in a future version. Finalization is deprecated and subject to removal in a future release. |
final Class |
getClass() |
Returns the runtime class of this Object. |
int |
hashCode() |
Returns a hash code value for this object. |
final void |
notify() |
Wakes up a single thread that is waiting on this object's monitor. |
final void |
notifyAll() |
Wakes up all threads that are waiting on this object's monitor. |
String |
toString() |
Returns a string representation of the object. |
final void |
wait() |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
Methods declared in interface Action
accept | Modifier and Type | Method | Description |
|---|---|---|
default boolean |
accept |
Determines whether the action should be performed with the specified sender object. |
Methods declared in interface ActionListener
actionPerformed | Modifier and Type | Method | Description |
|---|---|---|
void |
actionPerformed |
Invoked when an action occurs. |
Field Details
enabled
protected boolean enabled
changeSupport
protected SwingPropertyChangeSupport changeSupport
PropertyChangeListeners have been registered, the changeSupport field describes them.Constructor Details
AbstractAction
public AbstractAction()
Action.AbstractAction
public AbstractAction(String name)
Action with the specified name.- Parameters:
-
name- the name (Action.NAME) for the action; a value ofnullis ignored
AbstractAction
public AbstractAction(String name, Icon icon)
Action with the specified name and small icon.- Parameters:
-
name- the name (Action.NAME) for the action; a value ofnullis ignored -
icon- the small icon (Action.SMALL_ICON) for the action; a value ofnullis ignored
Method Details
getValue
putValue
isEnabled
setEnabled
public void setEnabled(boolean newValue)
Action is enabled. The default is true.- Specified by:
-
setEnabledin interfaceAction - Parameters:
-
newValue-trueto enable the action,falseto disable it - See Also:
getKeys
public Object[] getKeys()
Objects 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
nullif no keys have values set - Since:
- 1.3
firePropertyChange
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
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)
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:
-
addPropertyChangeListenerin interfaceAction - Parameters:
-
listener- ThePropertyChangeListenerto be added - See Also:
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.- Specified by:
-
removePropertyChangeListenerin interfaceAction - Parameters:
-
listener- thePropertyChangeListenerto be removed - See Also:
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListeners added to this AbstractAction with addPropertyChangeListener().- Returns:
- all of the
PropertyChangeListeners added or an empty array if no listeners have been added - Since:
- 1.4
clone
protected Object clone() throws CloneNotSupportedException
Object.clone().- Overrides:
-
clonein classObject - Returns:
- a clone of this instance.
- Throws:
-
CloneNotSupportedException- if the object's class does not support theCloneableinterface. Subclasses that override theclonemethod can also throw this exception to indicate that an instance cannot be cloned. - See Also:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.