All Packages Class Hierarchy This Package Previous Next Index
Interface java.awt.swing.Action
- public interface Action
- extends ActionListener
The JFC Action interface defines a fundamental unit of a program's
operation. This interface allows different components to access
the same functionality, which can be enabled or disabled in a single
step.
In addition to the actionPerformed
method
defined by the ActionListener interface, this interface allows the
application to define, in a single place:
- One or more text strings that describe the function. These strings
can be used, for example, to display the flyover text for a button
or to set the text in a menu item.
- One or more icons that depict the function. These icons can be used
for the images in a menu control, or for composite-entries in a more
sophisticated user-interface.
- The enabled/disabled state of the functionality. Instead of having
to separately disable the menu-item and the toolbar-button, the
application can disable the function that implements this interface.
All components which are registered as listeners for the state-change
then know to disable event-generation for that item and to modify the
display accordingly.
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:
- Creates a component that is appropriate for that container
(a toolbar creates a button component, for example).
- Gets the appropriate property(s) from the Action object to customize
the component (for example, the icon image and flyover text).
- Checks the intial state of the Action object to determine if it is
enabled or disabled, and renders the component in the appropriate
fashion.
- 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.
...REVISIT...SUBJECT TO CHANGE...........................................
Applications can also define and use Action objects and attach them to an
existing component, rather than adding them to an Action-aware container.
For example, a JButton can be attached to an Action object using the
JButton's addActionListener
method. The result is the same as
if the button were in an Action-aware container -- the button listens
and responds to the Action-objects state and customizes itself using the
Action-object's properties.
...END REVISIT............................................................
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:
- AbstractAction
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).
LONG_DESCRIPTION-
NAME-
SHORT_DESCRIPTION-
SMALL_ICON-
addPropertyChangeListener(PropertyChangeListener)
- Add or remove a PropertyChange listener.
getIcon(String)
- Sets/gets one of this object's icons,
using the associated key.
getText(String)
- Sets/gets one of this object's description-Strings,
using the associated key.
isEnabled()
-
removePropertyChangeListener(PropertyChangeListener)
-
setEnabled(boolean)
- Sets/tests the enabled state of the Action.
setIcon(String, Icon)
-
setText(String, String)
-
DEFAULT
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).
NAME
public static final String NAME
SHORT_DESCRIPTION
public static final String SHORT_DESCRIPTION
LONG_DESCRIPTION
public static final String LONG_DESCRIPTION
SMALL_ICON
public static final String SMALL_ICON
getText
public abstract String getText(String key)
- Sets/gets one of this object's description-Strings,
using the associated key.
setText
public abstract void setText(String key,
String text)
getIcon
public abstract Icon getIcon(String key)
- Sets/gets one of this object's icons,
using the associated key.
setIcon
public abstract void setIcon(String key,
Icon g)
setEnabled
public abstract 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.
isEnabled
public abstract boolean isEnabled()
addPropertyChangeListener
public abstract 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 state changes from enabled to disabled, or back,
the registered listeners are informed of the change.
removePropertyChangeListener
public abstract void removePropertyChangeListener(PropertyChangeListener listener)
All Packages Class Hierarchy This Package Previous Next Index
Submit a bug or feature