AbstractAction (Java Platform SE 6) (original) (raw)



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

This class provides default implementations for the JFC Action interface. Standard behaviors like the get and set methods forAction 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 JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

See Also:

Action


Field Summary
protected SwingPropertyChangeSupport changeSupport If any PropertyChangeListeners have been registered, thechangeSupport field describes them.
protected boolean enabled Specifies whether action is enabled; the default is true.
Fields inherited from interface javax.swing.Action
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, 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](../../javax/swing/AbstractAction.html#AbstractAction%28java.lang.String, javax.swing.Icon%29)(String name,Icon icon) Defines an Action object with the specified description string and a the specified icon.
Method Summary
void addPropertyChangeListener(PropertyChangeListener listener) Adds a PropertyChangeListener to the listener list.
protected Object clone() Clones the abstract action.
protected void [firePropertyChange](../../javax/swing/AbstractAction.html#firePropertyChange%28java.lang.String, java.lang.Object, java.lang.Object%29)(String propertyName,Object oldValue,Object newValue) Supports reporting bound property changes.
Object[] getKeys() Returns an array of Objects which are keys for which values have been set for this AbstractAction, or null if no keys have values set.
PropertyChangeListener[] getPropertyChangeListeners() Returns an array of all the PropertyChangeListeners added to this AbstractAction with addPropertyChangeListener().
Object getValue(String key) Gets the Object associated with the specified key.
boolean isEnabled() Returns true if the action is enabled.
void [putValue](../../javax/swing/AbstractAction.html#putValue%28java.lang.String, java.lang.Object%29)(String key,Object newValue) Sets the Value associated with the specified key.
void removePropertyChangeListener(PropertyChangeListener listener) Removes 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](../../java/lang/Object.html#wait%28long, int%29)
Methods inherited from interface java.awt.event.ActionListener
actionPerformed
Field Detail

enabled

protected boolean enabled

Specifies whether action is enabled; the default is true.


changeSupport

protected SwingPropertyChangeSupport changeSupport

If any PropertyChangeListeners have been registered, thechangeSupport field describes them.

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](../../javax/swing/Action.html#getValue%28java.lang.String%29) in interface [Action](../../javax/swing/Action.html "interface in javax.swing")

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)


putValue

public void putValue(String key, Object newValue)

Sets the Value associated with the specified key.

Specified by:

[putValue](../../javax/swing/Action.html#putValue%28java.lang.String, java.lang.Object%29) in interface [Action](../../javax/swing/Action.html "interface in javax.swing")

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)](../../javax/swing/Action.html#putValue%28java.lang.String, java.lang.Object%29)


isEnabled

public boolean isEnabled()

Returns true if the action is enabled.

Specified by:

[isEnabled](../../javax/swing/Action.html#isEnabled%28%29) in interface [Action](../../javax/swing/Action.html "interface in javax.swing")

Returns:

true if the action is enabled, false otherwise

See Also:

Action.isEnabled()


setEnabled

public void setEnabled(boolean newValue)

Enables or disables the action.

Specified by:

[setEnabled](../../javax/swing/Action.html#setEnabled%28boolean%29) in interface [Action](../../javax/swing/Action.html "interface in javax.swing")

Parameters:

newValue - true to enable the action, false to disable it

See Also:

Action.setEnabled(boolean)


getKeys

public Object[] getKeys()

Returns an array of Objects 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


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 appropriatePropertyChangeEvent to any registered PropertyChangeListeners.


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](../../javax/swing/Action.html#addPropertyChangeListener%28java.beans.PropertyChangeListener%29) in interface [Action](../../javax/swing/Action.html "interface in javax.swing")

Parameters:

listener - The PropertyChangeListener to be added

See Also:

Action.addPropertyChangeListener(java.beans.PropertyChangeListener)


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](../../javax/swing/Action.html#removePropertyChangeListener%28java.beans.PropertyChangeListener%29) in interface [Action](../../javax/swing/Action.html "interface in javax.swing")

Parameters:

listener - the PropertyChangeListener to be removed

See Also:

Action.removePropertyChangeListener(java.beans.PropertyChangeListener)


getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()

Returns an array of all the PropertyChangeListeners added to this AbstractAction with addPropertyChangeListener().

Returns:

all of the PropertyChangeListeners added or an empty array if no listeners have been added

Since:

1.4


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](../../java/lang/Object.html#clone%28%29) in class [Object](../../java/lang/Object.html "class in java.lang")

Returns:

a clone of this instance.

Throws:

[CloneNotSupportedException](../../java/lang/CloneNotSupportedException.html "class in java.lang") - 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



Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

Scripting on this page tracks web page traffic, but does not change the content in any way.