|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
The Action
interface provides a useful extension to the
ActionListener
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:
Action
object. When an Action
object is added
to such a container, the container:
Action
object to
customize the component (for example, the icon image and flyover text).
Action
object to determine
if it is enabled or disabled, and renders the component in the
appropriate fashion.
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.
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 tool bar. 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.
Note that Action
implementations tend to be more expensive
in terms of storage than a typical ActionListener
,
which does not offer the benefits of centralized control of
functionality and broadcast of property changes. For this reason,
you should take care to only use Action
s where their benefits
are desired, and use simple ActionListener
s elsewhere.
AbstractAction
Field Summary | |
static java.lang.String |
ACCELERATOR_KEY
The key used for storing a KeyStroke to be used as the
accelerator for the action. |
static java.lang.String |
ACTION_COMMAND_KEY
The key used to determine the command String for the
ActionEvent that will be created when an
Action is going to be notified as the result of
residing in a Keymap associated with a
JComponent . |
static java.lang.String |
DEFAULT
Not currently used. |
static java.lang.String |
LONG_DESCRIPTION
The key used for storing a longer String
description for the action, could be used for context-sensitive help. |
static java.lang.String |
MNEMONIC_KEY
The key used for storing a KeyEvent to be used as
the mnemonic for the action. |
static java.lang.String |
NAME
The key used for storing the String name
for the action, used for a menu or button. |
static java.lang.String |
SHORT_DESCRIPTION
The key used for storing a short String
description for the action, used for tooltip text. |
static java.lang.String |
SMALL_ICON
The key used for storing a small Icon , such
as ImageIcon , for the action, used for toolbar buttons. |
Method Summary | |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds a PropertyChange listener. |
java.lang.Object |
getValue(java.lang.String key)
Gets one of this object's properties using the associated key. |
boolean |
isEnabled()
Returns the enabled state of the Action . |
void |
putValue(java.lang.String key,
java.lang.Object value)
Sets one of this object's properties using the associated key. |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Removes a PropertyChange listener. |
void |
setEnabled(boolean b)
Sets the enabled state of the Action . |
Methods inherited from interface charva.awt.event.ActionListener |
actionPerformed |
Field Detail |
public static final java.lang.String DEFAULT
public static final java.lang.String NAME
String
name
for the action, used for a menu or button.
public static final java.lang.String SHORT_DESCRIPTION
String
description for the action, used for tooltip text.
public static final java.lang.String LONG_DESCRIPTION
String
description for the action, could be used for context-sensitive help.
public static final java.lang.String SMALL_ICON
Icon
, such
as ImageIcon
, for the action, used for toolbar buttons.
public static final java.lang.String ACTION_COMMAND_KEY
String
for the
ActionEvent
that will be created when an
Action
is going to be notified as the result of
residing in a Keymap
associated with a
JComponent
.
public static final java.lang.String ACCELERATOR_KEY
KeyStroke
to be used as the
accelerator for the action.
public static final java.lang.String MNEMONIC_KEY
KeyEvent
to be used as
the mnemonic for the action.
Method Detail |
public java.lang.Object getValue(java.lang.String key)
putValue(java.lang.String, java.lang.Object)
public void putValue(java.lang.String key, java.lang.Object value)
PropertyChangeEvent
is sent
to listeners.
key
- a String
containing the keyvalue
- an Object
valuepublic void setEnabled(boolean b)
Action
. When enabled,
any component associated with this object is active and
able to fire this object's actionPerformed
method.
If the value has changed, a PropertyChangeEvent
is sent
to listeners.
b
- true to enable this Action
, false to disable itpublic boolean isEnabled()
Action
. When enabled,
any component associated with this object is active and
able to fire this object's actionPerformed
method.
Action
is enabledpublic void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
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.
listener
- a PropertyChangeListener
objectpublic void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
PropertyChange
listener.
listener
- a PropertyChangeListener
objectaddPropertyChangeListener(java.beans.PropertyChangeListener)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |