Java Platform 1.2
Beta 4


All Known Implementing Classes:

public abstract interface Action
extends ActionListener
The JFC Action interface provides a useful extension to the ActionListner interface in cases where the same functionality may be accessed by several controls.

In addition to the actionPerformed method defined by the ActionListener interface, this interface allows the application to define, in a single place:

Containers in the Swing set like menus and toolbars know how to add an Action object, as well as other components, using a version of the add method. When an Action object is added to such a container, the container:
  1. Creates a component that is appropriate for that container (a toolbar creates a button component, for example).
  2. Gets the appropriate property(s) from the Action object to customize the component (for example, the icon image and flyover text).
  3. Checks the intial state of the Action object to determine if it is enabled or disabled, and renders the component in the appropriate fashion.
  4. Registers a listener with the Action object so that is notified of state changes. When the Action object changes from enabled to disabled, or back, the container makes the appropriate revisions to the event-generation mechanisms and renders the component accordingly.
For example, both a menu item and a toolbar button could access a Cut action object. The text associated with the object is specified as "Cut", and an image depicting a pair of scissors is specified as its icon. The Cut action-object can then be added to a menu and to a toolbar. Each container does the appropriate things with the object, and invokes its actionPerformed method when the component associated with it is activated. The application can then disable or enable the application object without worrying about what user-interface components are connected to it.

This interface can be added to an existing class or used to create an adapter (typically, by subclassing AbstractAction). The Action object can then be added to multiple action-aware containers and connected to Action-capable components. The GUI controls can then be activated or deactivated all at once by invoking the Action object's setEnabled method.

See Also:

Field Summary
static String DEFAULT
          Useful constants that can be used as the storage-retreival key when setting or getting one of this object's properties (text or icon).
static String NAME
static String SMALL_ICON
Method Summary
 void addPropertyChangeListener(PropertyChangeListener listener)
          Add or remove a PropertyChange listener.
 Object getValue(String key)
          Puts/gets one of this object's properties using the associated key.
 boolean isEnabled()
 void putValue(String key, Object value)
 void removePropertyChangeListener(PropertyChangeListener listener)
 void setEnabled(boolean b)
          Sets/tests the enabled state of the Action.
Methods inherited from interface java.awt.event.ActionListener

Field Detail


public static final String DEFAULT
Useful constants that can be used as the storage-retreival key when setting or getting one of this object's properties (text or icon).


public static final String NAME


public static final String SHORT_DESCRIPTION


public static final String LONG_DESCRIPTION


public static final String SMALL_ICON
Method Detail


public Object getValue(String key)
Puts/gets one of this object's properties using the associated key. If the value has changed, a PropertyChangeEvent will be sent to listeners.


public void putValue(String key,
                     Object value)


public void setEnabled(boolean b)
Sets/tests the enabled state of the Action. When enabled, any component associated with this object is active and able to fire this object's actionPerformed method.


public boolean isEnabled()


public void addPropertyChangeListener(PropertyChangeListener listener)
Add or remove a PropertyChange listener. Containers and attached components use these methods to register interest in this Action object. When its enabled state or other property changes, the registered listeners are informed of the change.


public void removePropertyChangeListener(PropertyChangeListener listener)

Java Platform 1.2
Beta 4

Submit a bug or feature
Submit comments/suggestions about new javadoc look
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.
This documentation was generated with a post-Beta4 version of Javadoc.