public class InputMap extends Object implements Serializable
InputMap
provides a binding between an input event (currently only KeyStroke
s are used) and an Object
. InputMap
s are usually used with an ActionMap
, to determine an Action
to perform when a key is pressed. An InputMap
can have a parent that is searched for bindings not defined in the InputMap
.
As with ActionMap
if you create a cycle, eg:
InputMap am = new InputMap(); InputMap bm = new InputMap(): am.setParent(bm); bm.setParent(am);some of the methods will cause a StackOverflowError to be thrown.
public InputMap()
Creates an InputMap
with no parent and no mappings.
public void setParent(InputMap map)
Sets this InputMap
's parent.
map
- the InputMap
that is the parent of this onepublic InputMap getParent()
Gets this InputMap
's parent.
InputMap
that is the parent of this one, or null if this InputMap
has no parentpublic void put(KeyStroke keyStroke, Object actionMapKey)
Adds a binding for keyStroke
to actionMapKey
. If actionMapKey
is null, this removes the current binding for keyStroke
.
public Object get(KeyStroke keyStroke)
Returns the binding for keyStroke
, messaging the parent InputMap
if the binding is not locally defined.
public void remove(KeyStroke key)
Removes the binding for key
from this InputMap
.
public void clear()
Removes all the mappings from this InputMap
.
public KeyStroke[] keys()
Returns the KeyStroke
s that are bound in this InputMap
.
public int size()
Returns the number of KeyStroke
bindings.
public KeyStroke[] allKeys()
Returns an array of the KeyStroke
s defined in this InputMap
and its parent. This 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.