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 `Object`s (called keys or `Action` names) to `Action`s. 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 and Description
`ActionMap()` Creates an `ActionMap` with no parent and no mappings.

### Method Summary

Methods
`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 inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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 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.

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.