public abstract class

AbstractAction

extends Object
implements Serializable Cloneable Action
java.lang.Object
   ↳ javax.swing.AbstractAction
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

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 JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

See Also

Summary

[Expand]
Inherited Constants
From interface javax.swing.Action
Fields
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.
Public Constructors
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.
Public Methods
synchronized void addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list.
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.
synchronized 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.
synchronized void removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list.
void setEnabled(boolean newValue)
Sets whether the Action is enabled.
Protected Methods
Object clone()
Clones the abstract action.
void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Supports reporting bound property changes.
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.awt.event.ActionListener
From interface javax.swing.Action

Fields

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.

Public Constructors

public AbstractAction ()

Creates an Action.

public AbstractAction (String name)

Creates an Action with the specified name.

Parameters
name the name (Action.NAME) for the action; a value of null is ignored

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 of null is ignored
icon the small icon (Action.SMALL_ICON) for the action; a value of null is ignored

Public Methods

public synchronized 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.

Parameters
listener The PropertyChangeListener to be added

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 null if no keys have values set

public synchronized 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

public Object getValue (String key)

Gets the Object associated with the specified key.

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

public boolean isEnabled ()

Returns true if the action is enabled.

Returns
  • true if the action is enabled, false otherwise
See Also

public void putValue (String key, Object newValue)

Sets the Value associated with the specified key.

Parameters
key the String that identifies the stored object
newValue the Object to store using this key

public synchronized void removePropertyChangeListener (PropertyChangeListener listener)

Removes a PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.

Parameters
listener the PropertyChangeListener to be removed

public void setEnabled (boolean newValue)

Sets whether the Action is enabled. The default is true.

Parameters
newValue true to enable the action, false to disable it

Protected Methods

protected Object clone ()

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().

Returns
  • a clone of this instance.

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.