Package Summary Overview Summary

### class:AbstractAction [NONE]
- 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
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. As of 1.4, support for long term storage of all JavaBeans™ has been added to the `java.beans` package. Please see `XMLEncoder`. Since: 1.2 See Also: `Action`

### field:enabled [NONE]
- #### enabled
      protected boolean enabled
Specifies whether action is enabled; the default is true.

### field:changeSupport [NONE]
- #### changeSupport
      protected SwingPropertyChangeSupport changeSupport
If any `PropertyChangeListeners` have been registered, the `changeSupport` field describes them.

### constructor:AbstractAction() [NONE]
- #### AbstractAction
      public AbstractAction()
Creates an `Action`.

### constructor:AbstractAction(java.lang.String) [NONE]
- #### AbstractAction
      public AbstractAction(String name)
Creates an `Action` with the specified name. Parameters: `name` - the name (`Action.NAME`) for the action; a value of `null` is ignored

### constructor:AbstractAction(java.lang.String, javax.swing.Icon) [NONE]
- #### AbstractAction
      public AbstractAction(String name,
                            Icon icon)
Creates an `Action` with the specified name and small icon. Parameters: `name` - the name (`Action.NAME`) for the action; a value of `null` is ignored `icon` - the small icon (`Action.SMALL_ICON`) for the action; a value of `null` is ignored

### method:getValue(java.lang.String) [NONE]
- #### getValue
      public Object getValue(String key)
Gets the `Object` associated with the specified key. Specified by: `getValue` in interface `Action` Parameters: `key` - a string containing the specified `key` Returns: the binding `Object` stored with this key; if there are no keys, it will return `null` See Also: `Action.getValue(java.lang.String)`

### method:putValue(java.lang.String, java.lang.Object) [NONE]
- #### 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)`

### method:isEnabled() [NONE]
- #### isEnabled
      public boolean isEnabled()
Returns true if the action is enabled. Specified by: `isEnabled` in interface `Action` Returns: true if the action is enabled, false otherwise See Also: `Action.isEnabled()`

### method:setEnabled(boolean) [NONE]
- #### setEnabled
      public void setEnabled(boolean newValue)
Sets whether the `Action` is enabled. The default is `true`. Specified by: `setEnabled` in interface `Action` Parameters: `newValue` - `true` to enable the action, `false` to disable it See Also: `Action.setEnabled(boolean)`

### method:getKeys() [NONE]
- #### getKeys
      public Object[] getKeys()
Returns an array of `Object`s which are keys for which values have been set for this `AbstractAction`, or `null` if no keys have values set. Returns: an array of key objects, or `null` if no keys have values set Since: 1.3

### method:firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object) [NONE]
- #### firePropertyChange
      protected void firePropertyChange(String propertyName,
                                        Object oldValue,
                                        Object newValue)
Supports 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`. Parameters: `propertyName` - the name of the property that has changed `oldValue` - the old value of the property `newValue` - the new value of the property

### method:addPropertyChangeListener(java.beans.PropertyChangeListener) [NONE]
- #### addPropertyChangeListener
      public void addPropertyChangeListener(PropertyChangeListener listener)
Adds 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)`

### method:removePropertyChangeListener(java.beans.PropertyChangeListener) [NONE]
- #### removePropertyChangeListener
      public void removePropertyChangeListener(PropertyChangeListener listener)
Removes 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)`

### method:getPropertyChangeListeners() [NONE]
- #### getPropertyChangeListeners
      public PropertyChangeListener[] getPropertyChangeListeners()
Returns an array of all the `PropertyChangeListener`s added to this AbstractAction with addPropertyChangeListener(). Returns: all of the `PropertyChangeListener`s added or an empty array if no listeners have been added Since: 1.4

### method:clone() [NONE]
- #### clone
      protected Object clone()
                      throws CloneNotSupportedException
Clones 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` 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. See Also: `Cloneable`