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
.
Action
Modifier and Type | Field and 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.
|
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 and 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. |
Modifier and Type | Method and 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
Object s 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
PropertyChangeListener s 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. |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
actionPerformed
protected boolean enabled
protected SwingPropertyChangeSupport changeSupport
PropertyChangeListeners
have been registered, the
changeSupport
field describes them.public AbstractAction()
Action
.public AbstractAction(String name)
Action
with the specified name.name
- the name (Action.NAME
) for the action; a
value of null
is ignoredpublic Object getValue(String key)
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)
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()
isEnabled
in interface Action
Action.isEnabled()
public void setEnabled(boolean newValue)
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()
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)
PropertyChangeEvent
to any registered
PropertyChangeListeners
.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.
addPropertyChangeListener
in interface Action
listener
- The PropertyChangeListener
to be addedAction.addPropertyChangeListener(java.beans.PropertyChangeListener)
public void removePropertyChangeListener(PropertyChangeListener listener)
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()
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
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
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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.