javax.swing
Class AbstractAction

java.lang.Object
  extended by javax.swing.AbstractAction
All Implemented Interfaces:
ActionListener, Serializable, Cloneable, EventListener, Action
Direct Known Subclasses:
BasicDesktopPaneUI.CloseAction, BasicDesktopPaneUI.MaximizeAction, BasicDesktopPaneUI.MinimizeAction, BasicDesktopPaneUI.NavigateAction, BasicDesktopPaneUI.OpenAction, BasicFileChooserUI.ApproveSelectionAction, BasicFileChooserUI.CancelSelectionAction, BasicFileChooserUI.ChangeToParentDirectoryAction, BasicFileChooserUI.GoHomeAction, BasicFileChooserUI.NewFolderAction, BasicFileChooserUI.UpdateAction, BasicInternalFrameTitlePane.CloseAction, BasicInternalFrameTitlePane.IconifyAction, BasicInternalFrameTitlePane.MaximizeAction, BasicInternalFrameTitlePane.MoveAction, BasicInternalFrameTitlePane.RestoreAction, BasicInternalFrameTitlePane.SizeAction, BasicSliderUI.ActionScroller, BasicTreeUI.TreeCancelEditingAction, BasicTreeUI.TreeHomeAction, BasicTreeUI.TreeIncrementAction, BasicTreeUI.TreePageAction, BasicTreeUI.TreeToggleAction, BasicTreeUI.TreeTraverseAction, MetalFileChooserUI.DirectoryComboBoxAction, TextAction

public abstract class AbstractAction
extends Object
implements Action, Cloneable, Serializable

A base class for implementing the Action interface.

See Also:
Serialized Form

Field Summary
protected  SwingPropertyChangeSupport changeSupport
          Provides support for property change event notification.
protected  boolean enabled
          A flag that indicates whether or not the action is enabled.
 
Fields inherited from interface javax.swing.Action
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SHORT_DESCRIPTION, SMALL_ICON
 
Constructor Summary
AbstractAction()
          Creates a new action with no properties set.
AbstractAction(String name)
          Creates a new action with the specified name.
AbstractAction(String name, Icon icon)
          Creates a new action with the specified name and icon.
 
Method Summary
 void addPropertyChangeListener(PropertyChangeListener listener)
          Registers a listener to receive PropertyChangeEvent notifications from this action.
protected  Object clone()
          Returns a clone of the action.
protected  void firePropertyChange(String propertyName, Object oldValue, Object newValue)
          Sends a PropertyChangeEvent for the named property to all registered listeners.
 Object[] getKeys()
          Returns an array of the keys for the property values that have been defined via the putValue(String, Object) method (or the class constructor).
 PropertyChangeListener[] getPropertyChangeListeners()
          Returns all registered listeners.
 Object getValue(String key)
          Returns the value associated with the specified key.
 boolean isEnabled()
          Returns the flag that indicates whether or not the action is enabled.
 void putValue(String key, Object value)
          Sets the value associated with the specified key and sends a PropertyChangeEvent to all registered listeners.
 void removePropertyChangeListener(PropertyChangeListener listener)
          Deregisters a listener so that it no longer receives PropertyChangeEvent notifications from this action.
 void setEnabled(boolean enabled)
          Sets the flag that indicates whether or not the action is enabled and, if the value of the flag changed from the previous setting, sends a PropertyChangeEvent to all registered listeners (using the property name 'enabled').
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.awt.event.ActionListener
actionPerformed
 

Field Detail

enabled

protected boolean enabled
A flag that indicates whether or not the action is enabled.


changeSupport

protected SwingPropertyChangeSupport changeSupport
Provides support for property change event notification.

Constructor Detail

AbstractAction

public AbstractAction()
Creates a new action with no properties set.


AbstractAction

public AbstractAction(String name)
Creates a new action with the specified name. The name is stored as a property with the key Action.NAME, and no other properties are initialised.

Parameters:
name - the name (null permitted).

AbstractAction

public AbstractAction(String name,
                      Icon icon)
Creates a new action with the specified name and icon. The name is stored as a property with the key Action.NAME, the icon is stored as a property with the key Action.SMALL_ICON, and no other properties are initialised.

Parameters:
name - the name (null permitted).
icon - the icon (null permitted).
Method Detail

clone

protected Object clone()
                throws CloneNotSupportedException
Returns a clone of the action.

Overrides:
clone in class Object
Returns:
A clone of the action.
Throws:
CloneNotSupportedException - if there is a problem cloning the action.
See Also:
Cloneable

getValue

public Object getValue(String key)
Returns the value associated with the specified key.

Specified by:
getValue in interface Action
Parameters:
key - the key (not null).
Returns:
The value associated with the specified key, or null if the key is not found.
See Also:
putValue(String, Object)

putValue

public void putValue(String key,
                     Object value)
Sets the value associated with the specified key and sends a PropertyChangeEvent to all registered listeners. The standard keys are: Any existing value associated with the key will be overwritten.

Specified by:
putValue in interface Action
Parameters:
key - the key (not null).
value - the value (null permitted).

isEnabled

public boolean isEnabled()
Returns the flag that indicates whether or not the action is enabled.

Specified by:
isEnabled in interface Action
Returns:
The flag.
See Also:
setEnabled(boolean)

setEnabled

public void setEnabled(boolean enabled)
Sets the flag that indicates whether or not the action is enabled and, if the value of the flag changed from the previous setting, sends a PropertyChangeEvent to all registered listeners (using the property name 'enabled').

Specified by:
setEnabled in interface Action
Parameters:
enabled - the new flag value.
See Also:
isEnabled()

getKeys

public Object[] getKeys()
Returns an array of the keys for the property values that have been defined via the putValue(String, Object) method (or the class constructor).

Returns:
An array of keys.

firePropertyChange

protected void firePropertyChange(String propertyName,
                                  Object oldValue,
                                  Object newValue)
Sends a PropertyChangeEvent for the named property to all registered listeners.

Parameters:
propertyName - the property name.
oldValue - the old value of the property.
newValue - the new value of the property.

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
Registers a listener to receive PropertyChangeEvent notifications from this action.

Specified by:
addPropertyChangeListener in interface Action
Parameters:
listener - the listener.
See Also:
removePropertyChangeListener(PropertyChangeListener)

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
Deregisters a listener so that it no longer receives PropertyChangeEvent notifications from this action.

Specified by:
removePropertyChangeListener in interface Action
Parameters:
listener - the listener.
See Also:
addPropertyChangeListener(PropertyChangeListener)

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()
Returns all registered listeners.

Returns:
An array of listeners.
Since:
1.4