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
Fields
| 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 Constructors
| Constructor | Description |
|---|---|
AbstractAction() | Creates an |
AbstractAction(String name) | Creates an |
AbstractAction(String name,
Icon icon) | Creates an |
Methods
| 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 Fields
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.
Constructors
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 ofnullis 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 ofnullis ignored -
icon- the small icon (Action.SMALL_ICON) for the action; a value ofnullis ignored
Methods
getValue
public Object getValue(String key)
Gets the Object associated with the specified key.
- Specified by:
-
getValuein interfaceAction - Parameters:
-
key- a string containing the specifiedkey - Returns:
- the binding
Objectstored 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:
-
putValuein interfaceAction - Parameters:
-
key- theStringthat identifies the stored object -
newValue- theObjectto 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:
-
isEnabledin 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:
-
setEnabledin interfaceAction - Parameters:
-
newValue-trueto enable the action,falseto disable it - See Also:
Action.setEnabled(boolean)
getKeys
public 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.
- 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) 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:
-
addPropertyChangeListenerin interfaceAction - Parameters:
-
listener- ThePropertyChangeListenerto 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:
-
removePropertyChangeListenerin interfaceAction - Parameters:
-
listener- thePropertyChangeListenerto be removed - See Also:
Action.removePropertyChangeListener(java.beans.PropertyChangeListener)
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
Returns an array of all the 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 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:
-
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:
Cloneable
© 1993, 2020, 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/AbstractAction.html