Module java.desktop
Package javax.swing

Class ActionMap

java.lang.Object
javax.swing.ActionMap
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
ActionMapUIResource

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.

Since:
1.3
See Also:
InputMap
  • Constructor Summary

    Constructors 
    Constructor Description
    ActionMap()
    Creates an ActionMap with no parent and no mappings.
  • Method Summary

    Modifier and Type Method Description
    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.
    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 bindings in this ActionMap.

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ActionMap

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

    • 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).

      Parameters:
      key - a key
      action - a binding for key
    • get

      public Action get​(Object key)
      Returns the binding for key, messaging the parent ActionMap if the binding is not locally defined.
      Parameters:
      key - a key
      Returns:
      the binding for key
    • remove

      public void remove​(Object key)
      Removes the binding for key from this ActionMap.
      Parameters:
      key - a key
    • 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.
      Returns:
      an array of the keys
    • size

      public int size()
      Returns the number of bindings in this ActionMap.
      Returns:
      the number of bindings in this ActionMap
    • 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.
      Returns:
      an array of the keys