javax.swing
Class ActionMap

java.lang.Object
  extended byjavax.swing.ActionMap
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
ActionMapUIResource, JTextComponent.KeymapActionMap

public class ActionMap
extends Object
implements Serializable

ActionMap provides mappings from Objects (called keys or Action names) to Actions. An ActionMap is usually used with an InputMap to locate a particular action when a key is pressed. As with InputMap, an ActionMap can have a parent that is searched for keys not defined in the ActionMap.

As with InputMap if you create a cycle, eg:

   ActionMap am = new ActionMap();
   ActionMap bm = new ActionMap():
   am.setParent(bm);
   bm.setParent(am);
 
some of the methods will cause a StackOverflowError to be thrown.

Author:
Scott Violet
See Also:
InputMap, Serialized Form

Field Summary
private  AbstractAction.ArrayTable arrayTable
          Handles the mapping between Action name and Action.
private  ActionMap parent
          Parent that handles any bindings we don't contain.
 
Constructor Summary
ActionMap()
          Creates an ActionMap with no parent and no mappings.
 
Method Summary
 Object[] allKeys()
          Returns an array of the keys defined in this ActionMap and its parent.
 void clear()
          Removes all the mappings from this ActionMap.
 Action get(Object key)
          Returns the binding for key, messaging the parent ActionMap if the binding is not locally defined.
 ActionMap getParent()
          Returns this ActionMap's parent.
 Object[] keys()
          Returns the Action names that are bound in this ActionMap.
 void put(Object key, Action action)
          Adds a binding for key to action.
private  void readObject(ObjectInputStream s)
           
 void remove(Object key)
          Removes the binding for key from this ActionMap.
 void setParent(ActionMap map)
          Sets this ActionMap's parent.
 int size()
          Returns the number of KeyStroke bindings.
private  void writeObject(ObjectOutputStream s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

arrayTable

private transient AbstractAction.ArrayTable arrayTable
Handles the mapping between Action name and Action.


parent

private ActionMap parent
Parent that handles any bindings we don't contain.

Constructor Detail

ActionMap

public ActionMap()
Creates an ActionMap with no parent and no mappings.

Method Detail

setParent

public void setParent(ActionMap map)
Sets this ActionMap's parent.

Parameters:
map - the ActionMap that is the parent of this one

getParent

public ActionMap getParent()
Returns this ActionMap's parent.

Returns:
the ActionMap that is the parent of this one, or null if this ActionMap has no parent

put

public void put(Object key,
                Action action)
Adds a binding for key to action. If action is null, this removes the current binding for key.

In most instances, key will be action.getValue(NAME).


get

public Action get(Object key)
Returns the binding for key, messaging the parent ActionMap if the binding is not locally defined.


remove

public void remove(Object key)
Removes the binding for key from this ActionMap.


clear

public void clear()
Removes all the mappings from this ActionMap.


keys

public Object[] keys()
Returns the Action names that are bound in this ActionMap.


size

public int size()
Returns the number of KeyStroke bindings.


allKeys

public Object[] allKeys()
Returns an array of the keys defined in this ActionMap and its parent. This method differs from keys() in that this method includes the keys defined in the parent.


writeObject

private void writeObject(ObjectOutputStream s)
                  throws IOException
Throws:
IOException

readObject

private void readObject(ObjectInputStream s)
                 throws ClassNotFoundException,
                        IOException
Throws:
ClassNotFoundException
IOException