- 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 JFCActioninterface. Standard behaviors like the get and set methods forActionobject properties (icon, text, and enabled) are defined here. The developer need only subclass this abstract class and define theactionPerformedmethod.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.beanspackage. Please seeXMLEncoder.- Since:
- 1.2
- See Also:
Action, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected SwingPropertyChangeSupportchangeSupportIf anyPropertyChangeListenershave been registered, thechangeSupportfield describes them.protected booleanenabledSpecifies whether action is enabled; the default is true.-
Fields declared in 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
Constructors Constructor Description AbstractAction()Creates anAction.AbstractAction(String name)Creates anActionwith the specified name.AbstractAction(String name, Icon icon)Creates anActionwith the specified name and small icon.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPropertyChangeListener(PropertyChangeListener listener)Adds aPropertyChangeListenerto the listener list.protected Objectclone()Clones the abstract action.protected voidfirePropertyChange(String propertyName, Object oldValue, Object newValue)Supports reporting bound property changes.Object[]getKeys()Returns an array ofObjects which are keys for which values have been set for thisAbstractAction, ornullif no keys have values set.PropertyChangeListener[]getPropertyChangeListeners()Returns an array of all thePropertyChangeListeners added to this AbstractAction with addPropertyChangeListener().ObjectgetValue(String key)Gets theObjectassociated with the specified key.booleanisEnabled()Returns true if the action is enabled.voidputValue(String key, Object newValue)Sets theValueassociated with the specified key.voidremovePropertyChangeListener(PropertyChangeListener listener)Removes aPropertyChangeListenerfrom the listener list.voidsetEnabled(boolean newValue)Sets whether theActionis enabled.-
Methods declared in class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods declared in 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 anyPropertyChangeListenershave been registered, thechangeSupportfield describes them.
-
-
Constructor Detail
-
AbstractAction
public AbstractAction()
Creates anAction.
-
AbstractAction
public AbstractAction(String name)
Creates anActionwith the specified name.- Parameters:
name- the name (Action.NAME) for the action; a value ofnullis ignored
-
-
Method Detail
-
getValue
public Object getValue(String key)
Gets theObjectassociated with the specified key.- Specified by:
getValuein interfaceAction- Parameters:
key- a string containing the specifiedkey- Returns:
- the binding
Objectstored with this key; if there are no keys, it will returnnull - See Also:
Action.getValue(java.lang.String)
-
putValue
public void putValue(String key, Object newValue)
Sets theValueassociated with the specified key.- Specified by:
putValuein interfaceAction- Parameters:
key- theStringthat identifies the stored objectnewValue- theObjectto 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:
isEnabledin interfaceAction- Returns:
- true if the action is enabled, false otherwise
- See Also:
Action.isEnabled()
-
setEnabled
public void setEnabled(boolean newValue)
Sets whether theActionis enabled. The default istrue.- Specified by:
setEnabledin interfaceAction- Parameters:
newValue-trueto enable the action,falseto disable it- See Also:
Action.setEnabled(boolean)
-
getKeys
public Object[] getKeys()
Returns an array ofObjects which are keys for which values have been set for thisAbstractAction, ornullif no keys have values set.- Returns:
- an array of key objects, or
nullif 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 appropriatePropertyChangeEventto any registeredPropertyChangeListeners.- Parameters:
propertyName- the name of the property that has changedoldValue- the old value of the propertynewValue- the new value of the property
-
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
Adds aPropertyChangeListenerto the listener list. The listener is registered for all properties.A
PropertyChangeEventwill get fired in response to setting a bound property, e.g.setFont,setBackground, orsetForeground. 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:
addPropertyChangeListenerin interfaceAction- Parameters:
listener- ThePropertyChangeListenerto be added- See Also:
Action.addPropertyChangeListener(java.beans.PropertyChangeListener)
-
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
Removes aPropertyChangeListenerfrom the listener list. This removes aPropertyChangeListenerthat was registered for all properties.- Specified by:
removePropertyChangeListenerin interfaceAction- Parameters:
listener- thePropertyChangeListenerto be removed- See Also:
Action.removePropertyChangeListener(java.beans.PropertyChangeListener)
-
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
Returns an array of all thePropertyChangeListeners 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 byObject.clone().- Overrides:
clonein classObject- Returns:
- Object a shallow copy of this object.
- Throws:
CloneNotSupportedException- if the receiver's class does not implement the interface Cloneable.
-
-