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.
InputMap
public ActionMap()
Creates an ActionMap
with no parent and no mappings.
public void setParent(ActionMap map)
Sets this ActionMap
's parent.
map
- the ActionMap
that is the parent of this onepublic ActionMap getParent()
Returns this ActionMap
's parent.
ActionMap
that is the parent of this one, or null if this ActionMap
has no parentpublic 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)
.
public Action get(Object key)
Returns the binding for key
, messaging the parent ActionMap
if the binding is not locally defined.
public void remove(Object key)
Removes the binding for key
from this ActionMap
.
public void clear()
Removes all the mappings from this ActionMap
.
public Object[] keys()
Returns the Action
names that are bound in this ActionMap
.
public int size()
Returns the number of bindings in this ActionMap
.
ActionMap
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.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.