JavaTM 2 Platform
Standard Edition

javax.swing
Class AbstractAction

java.lang.Object
  |
  +--javax.swing.AbstractAction
Direct Known Subclasses:
BasicDesktopPaneUI.CloseAction, BasicDesktopPaneUI.MaximizeAction, BasicDesktopPaneUI.MinimizeAction, BasicDesktopPaneUI.NavigateAction, 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

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. A future release of Swing will provide support for long term persistence.

See Also:
Action, Serialized Form

Field Summary
protected  SwingPropertyChangeSupport changeSupport
           
protected  boolean enabled
           
 
Fields inherited from interface javax.swing.Action
DEFAULT, LONG_DESCRIPTION, NAME, SHORT_DESCRIPTION, SMALL_ICON
 
Constructor Summary
AbstractAction()
          Defines an Action object with a default description string and default icon.
AbstractAction(String name)
          Defines an Action object with the specified description string and a default icon.
AbstractAction(String name, Icon icon)
          Defines an Action object with the specified description string and a the specified icon.
 
Method Summary
 void addPropertyChangeListener(PropertyChangeListener listener)
          Add a PropertyChangeListener to the listener list.
protected  Object clone()
          Clone the abstract action.
protected  void firePropertyChange(String propertyName, Object oldValue, Object newValue)
          Support for reporting bound property changes.
 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.
 void removePropertyChangeListener(PropertyChangeListener listener)
          Remove a PropertyChangeListener from the listener list.
 void setEnabled(boolean newValue)
          Enables or disables the action.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

enabled

protected boolean enabled

changeSupport

protected SwingPropertyChangeSupport changeSupport
Constructor Detail

AbstractAction

public AbstractAction()
Defines an Action object with a default description string and default icon.

AbstractAction

public AbstractAction(String name)
Defines an Action object with the specified description string and a default icon.

AbstractAction

public AbstractAction(String name,
                      Icon icon)
Defines an Action object with the specified description string and a the specified icon.
Method Detail

getValue

public Object getValue(String key)
Gets the Object associated with the specified key.
Specified by:
getValue in interface Action
Returns:
the Object stored with this key
See Also:
Action.getValue(java.lang.String)

putValue

public void putValue(String key,
                     Object newValue)
Sets the Value associated with the specified key.
Specified by:
putValue in interface Action
Parameters:
key - the String that identifies the stored object
newValue - the Object to store using this key
See Also:
Action.putValue(java.lang.String, java.lang.Object)

isEnabled

public boolean isEnabled()
Returns true if the action is enabled.
Specified by:
isEnabled in interface Action
Returns:
true if the action is enabled
See Also:
Action.isEnabled()

setEnabled

public void setEnabled(boolean newValue)
Enables or disables the action.
Specified by:
setEnabled in interface Action
Parameters:
newValue - true to enable the action, false to disable it
See Also:
Action.setEnabled(boolean)

firePropertyChange

protected void firePropertyChange(String propertyName,
                                  Object oldValue,
                                  Object newValue)
Support for 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.

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
Add 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.

Specified by:
addPropertyChangeListener in interface Action
Parameters:
listener - The PropertyChangeListener to be added
See Also:
Action.addPropertyChangeListener(java.beans.PropertyChangeListener)

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
Remove a PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.
Specified by:
removePropertyChangeListener in interface Action
Parameters:
listener - The PropertyChangeListener to be removed
See Also:
Action.removePropertyChangeListener(java.beans.PropertyChangeListener)

clone

protected Object clone()
                throws CloneNotSupportedException
Clone the abstract action. This gives the clone its own copy of the key/value list, which is not handled for you by Object.clone()
Overrides:
clone in class Object
Tags copied from class: Object
Returns:
a clone of this instance.
Throws:
CloneNotSupportedException - if the object's class does not support the Cloneable interface. Subclasses that override the clone method can also throw this exception to indicate that an instance cannot be cloned.
OutOfMemoryError - if there is not enough memory.
See Also:
Cloneable

JavaTM 2 Platform
Standard Edition

Submit a bug or feature
Java, Java 2D, and JDBC are a trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.