AbstractAction (Java Platform SE 6) (original) (raw)
javax.swing
Class AbstractAction
java.lang.Object
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:
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:
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:
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
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 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
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:
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.