Module java.desktop
Package javax.swing

Class 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, Serialized Form
    • 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).

        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