AbstractAction (Java Platform SE 8 ) (original) (raw)
- 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 forAction
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.
See Also:
Action
Field Summary
Fields
Modifier and Type Field Description protected SwingPropertyChangeSupport changeSupport If any PropertyChangeListeners have been registered, thechangeSupport field describes them. protected boolean enabled Specifies whether action is enabled; the default is true. * ### Fields inherited from interface javax.swing.[Action](../../javax/swing/Action.html "interface in javax.swing") `[ACCELERATOR_KEY](../../javax/swing/Action.html#ACCELERATOR%5FKEY), [ACTION_COMMAND_KEY](../../javax/swing/Action.html#ACTION%5FCOMMAND%5FKEY), [DEFAULT](../../javax/swing/Action.html#DEFAULT), [DISPLAYED_MNEMONIC_INDEX_KEY](../../javax/swing/Action.html#DISPLAYED%5FMNEMONIC%5FINDEX%5FKEY), [LARGE_ICON_KEY](../../javax/swing/Action.html#LARGE%5FICON%5FKEY), [LONG_DESCRIPTION](../../javax/swing/Action.html#LONG%5FDESCRIPTION), [MNEMONIC_KEY](../../javax/swing/Action.html#MNEMONIC%5FKEY), [NAME](../../javax/swing/Action.html#NAME), [SELECTED_KEY](../../javax/swing/Action.html#SELECTED%5FKEY), [SHORT_DESCRIPTION](../../javax/swing/Action.html#SHORT%5FDESCRIPTION), [SMALL_ICON](../../javax/swing/Action.html#SMALL%5FICON)`
Constructor Summary
Constructors
Constructor Description AbstractAction() Creates an Action. AbstractAction(String name) Creates an Action with the specified name. AbstractAction(String name,Icon icon) Creates an Action with the specified name and small icon. Method Summary
All Methods Instance Methods Concrete Methods
Modifier and Type Method Description void addPropertyChangeListener(PropertyChangeListener listener) Adds a PropertyChangeListener 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 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(String key) Gets the Object associated with the specified key. boolean isEnabled() Returns true if the action is enabled. void putValue(String key,Object newValue) Sets the Value associated with the specified key. void removePropertyChangeListener(PropertyChangeListener listener) Removes a PropertyChangeListener from the listener list. void setEnabled(boolean newValue) Sets whether the Action is enabled. * ### Methods inherited from class java.lang.[Object](../../java/lang/Object.html "class in java.lang") `[equals](../../java/lang/Object.html#equals-java.lang.Object-), [finalize](../../java/lang/Object.html#finalize--), [getClass](../../java/lang/Object.html#getClass--), [hashCode](../../java/lang/Object.html#hashCode--), [notify](../../java/lang/Object.html#notify--), [notifyAll](../../java/lang/Object.html#notifyAll--), [toString](../../java/lang/Object.html#toString--), [wait](../../java/lang/Object.html#wait--), [wait](../../java/lang/Object.html#wait-long-), [wait](../../java/lang/Object.html#wait-long-int-)` * ### Methods inherited from interface java.awt.event.[ActionListener](../../java/awt/event/ActionListener.html "interface in java.awt.event") `[actionPerformed](../../java/awt/event/ActionListener.html#actionPerformed-java.awt.event.ActionEvent-)`
Field Detail
* #### enabled protected boolean enabled Specifies whether action is enabled; the default is true. * #### changeSupport protected [SwingPropertyChangeSupport](../../javax/swing/event/SwingPropertyChangeSupport.html "class in javax.swing.event") changeSupport If any `PropertyChangeListeners` have been registered, the`changeSupport` field describes them.
Constructor Detail
* #### AbstractAction public AbstractAction() Creates an `Action`. * #### AbstractAction public AbstractAction([String](../../java/lang/String.html "class in java.lang") name) Creates an `Action` with the specified name. Parameters: `name` \- the name (`Action.NAME`) for the action; a value of `null` is ignored * #### AbstractAction public AbstractAction([String](../../java/lang/String.html "class in java.lang") name, [Icon](../../javax/swing/Icon.html "interface in javax.swing") icon) Creates an `Action` with the specified name and small icon. Parameters: `name` \- the name (`Action.NAME`) for the action; a value of `null` is ignored `icon` \- the small icon (`Action.SMALL_ICON`) for the action; a value of `null` is ignored
Method Detail
* #### getValue public [Object](../../java/lang/Object.html "class in java.lang") getValue([String](../../java/lang/String.html "class in java.lang") key) Gets the `Object` associated with the specified key. Specified by: `[getValue](../../javax/swing/Action.html#getValue-java.lang.String-)` in interface `[Action](../../javax/swing/Action.html "interface in javax.swing")` Parameters: `key` \- a string containing the specified `key` Returns: the binding `Object` stored with this key; if there are no keys, it will return `null` See Also: [Action.getValue(java.lang.String)](../../javax/swing/Action.html#getValue-java.lang.String-) * #### putValue public void putValue([String](../../java/lang/String.html "class in java.lang") key, [Object](../../java/lang/Object.html "class in java.lang") newValue) Sets the `Value` associated with the specified key. Specified by: `[putValue](../../javax/swing/Action.html#putValue-java.lang.String-java.lang.Object-)` in interface `[Action](../../javax/swing/Action.html "interface in javax.swing")` Parameters: `key` \- the `String` that identifies the stored object `newValue` \- the `Object` to store using this key See Also: [Action.putValue(java.lang.String, java.lang.Object)](../../javax/swing/Action.html#putValue-java.lang.String-java.lang.Object-) * #### isEnabled public boolean isEnabled() Returns true if the action is enabled. Specified by: `[isEnabled](../../javax/swing/Action.html#isEnabled--)` in interface `[Action](../../javax/swing/Action.html "interface in javax.swing")` Returns: true if the action is enabled, false otherwise See Also: [Action.isEnabled()](../../javax/swing/Action.html#isEnabled--) * #### setEnabled public void setEnabled(boolean newValue) Sets whether the `Action` is enabled. The default is `true`. Specified by: `[setEnabled](../../javax/swing/Action.html#setEnabled-boolean-)` in interface `[Action](../../javax/swing/Action.html "interface in javax.swing")` Parameters: `newValue` \- `true` to enable the action, `false` to disable it See Also: [Action.setEnabled(boolean)](../../javax/swing/Action.html#setEnabled-boolean-) * #### getKeys public [Object](../../java/lang/Object.html "class in java.lang")[] 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](../../java/lang/String.html "class in java.lang") propertyName, [Object](../../java/lang/Object.html "class in java.lang") oldValue, [Object](../../java/lang/Object.html "class in java.lang") 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`. * #### addPropertyChangeListener public void addPropertyChangeListener([PropertyChangeListener](../../java/beans/PropertyChangeListener.html "interface in java.beans") 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](../../javax/swing/Action.html#addPropertyChangeListener-java.beans.PropertyChangeListener-)` in interface `[Action](../../javax/swing/Action.html "interface in javax.swing")` Parameters: `listener` \- The `PropertyChangeListener` to be added See Also: [Action.addPropertyChangeListener(java.beans.PropertyChangeListener)](../../javax/swing/Action.html#addPropertyChangeListener-java.beans.PropertyChangeListener-) * #### removePropertyChangeListener public void removePropertyChangeListener([PropertyChangeListener](../../java/beans/PropertyChangeListener.html "interface in java.beans") listener) Removes a `PropertyChangeListener` from the listener list. This removes a `PropertyChangeListener` that was registered for all properties. Specified by: `[removePropertyChangeListener](../../javax/swing/Action.html#removePropertyChangeListener-java.beans.PropertyChangeListener-)` in interface `[Action](../../javax/swing/Action.html "interface in javax.swing")` Parameters: `listener` \- the `PropertyChangeListener` to be removed See Also: [Action.removePropertyChangeListener(java.beans.PropertyChangeListener)](../../javax/swing/Action.html#removePropertyChangeListener-java.beans.PropertyChangeListener-) * #### getPropertyChangeListeners public [PropertyChangeListener](../../java/beans/PropertyChangeListener.html "interface in java.beans")[] 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](../../java/lang/Object.html "class in java.lang") clone() throws [CloneNotSupportedException](../../java/lang/CloneNotSupportedException.html "class in java.lang") 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](../../java/lang/Object.html#clone--)` in class `[Object](../../java/lang/Object.html "class in java.lang")` Returns: a clone of this instance. Throws: `[CloneNotSupportedException](../../java/lang/CloneNotSupportedException.html "class in java.lang")` \- if the object's class does not support the `Cloneable` interface. Subclasses that override the `clone` method can also throw this exception to indicate that an instance cannot be cloned. See Also: [Cloneable](../../java/lang/Cloneable.html "interface in java.lang")
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.