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
.
Action
protected boolean enabled
Specifies whether action is enabled; the default is true.
protected SwingPropertyChangeSupport changeSupport
If any PropertyChangeListeners
have been registered, the changeSupport
field describes them.
public AbstractAction()
Creates an Action
.
public AbstractAction(String name)
Creates an Action
with the specified name.
name
- the name (Action.NAME
) for the action; a value of null
is ignoredpublic AbstractAction(String name, Icon icon)
Creates an Action
with the specified name and small icon.
name
- the name (Action.NAME
) for the action; a value of null
is ignoredicon
- the small icon (Action.SMALL_ICON
) for the action; a value of null
is ignoredpublic Object getValue(String key)
Gets the Object
associated with the specified key.
getValue
in interface Action
key
- a string containing the specified key
Object
stored with this key; if there are no keys, it will return null
Action.getValue(java.lang.String)
public void putValue(String key, Object newValue)
Sets the Value
associated with the specified key.
putValue
in interface Action
key
- the String
that identifies the stored objectnewValue
- the Object
to store using this keyAction.putValue(java.lang.String, java.lang.Object)
public boolean isEnabled()
Returns true if the action is enabled.
isEnabled
in interface Action
Action.isEnabled()
public void setEnabled(boolean newValue)
Sets whether the Action
is enabled. The default is true
.
setEnabled
in interface Action
newValue
- true
to enable the action, false
to disable itAction.setEnabled(boolean)
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.
null
if no keys have values setprotected 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
.
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.
addPropertyChangeListener
in interface Action
listener
- The PropertyChangeListener
to be addedAction.addPropertyChangeListener(java.beans.PropertyChangeListener)
public void removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener
from the listener list. This removes a PropertyChangeListener
that was registered for all properties.
removePropertyChangeListener
in interface Action
listener
- the PropertyChangeListener
to be removedAction.removePropertyChangeListener(java.beans.PropertyChangeListener)
public PropertyChangeListener[] getPropertyChangeListeners()
Returns an array of all the PropertyChangeListener
s added to this AbstractAction with addPropertyChangeListener().
PropertyChangeListener
s added or an empty array if no listeners have been addedprotected 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()
.
clone
in class Object
CloneNotSupportedException
- 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.Cloneable
© 1993–2017, 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.