- java.lang.Object
- javax.swing.InputMap
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
ComponentInputMap
,InputMapUIResource
public class InputMap extends Object implements Serializable
InputMap
provides a binding between an input event (currently onlyKeyStroke
s are used) and anObject
.InputMap
s are usually used with anActionMap
, to determine anAction
to perform when a key is pressed. AnInputMap
can have a parent that is searched for bindings not defined in theInputMap
.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.- Since:
- 1.3
- See Also:
- Serialized Form
Constructor Summary
Constructors Constructor Description InputMap()
Creates anInputMap
with no parent and no mappings.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description KeyStroke[]
allKeys()
Returns an array of theKeyStroke
s defined in thisInputMap
and its parent.void
clear()
Removes all the mappings from thisInputMap
.Object
get(KeyStroke keyStroke)
Returns the binding forkeyStroke
, messaging the parentInputMap
if the binding is not locally defined.InputMap
getParent()
Gets thisInputMap
's parent.KeyStroke[]
keys()
Returns theKeyStroke
s that are bound in thisInputMap
.void
put(KeyStroke keyStroke, Object actionMapKey)
Adds a binding forkeyStroke
toactionMapKey
.void
remove(KeyStroke key)
Removes the binding forkey
from thisInputMap
.void
setParent(InputMap map)
Sets thisInputMap
's parent.int
size()
Returns the number ofKeyStroke
bindings.
Method Detail
setParent
public void setParent(InputMap map)
Sets thisInputMap
's parent.- Parameters:
map
- theInputMap
that is the parent of this one
getParent
public InputMap getParent()
Gets thisInputMap
's parent.- Returns:
- map the
InputMap
that is the parent of this one, or null if thisInputMap
has no parent
put
public void put(KeyStroke keyStroke, Object actionMapKey)
Adds a binding forkeyStroke
toactionMapKey
. IfactionMapKey
is null, this removes the current binding forkeyStroke
.- Parameters:
keyStroke
- aKeyStroke
actionMapKey
- an action map key
get
public Object get(KeyStroke keyStroke)
Returns the binding forkeyStroke
, messaging the parentInputMap
if the binding is not locally defined.- Parameters:
keyStroke
- theKeyStroke
for which to get the binding- Returns:
- the binding for
keyStroke
remove
public void remove(KeyStroke key)
Removes the binding forkey
from thisInputMap
.- Parameters:
key
- theKeyStroke
for which to remove the binding
clear
public void clear()
Removes all the mappings from thisInputMap
.
keys
public KeyStroke[] keys()
Returns theKeyStroke
s that are bound in thisInputMap
.- Returns:
- an array of the
KeyStroke
s that are bound in thisInputMap
size
public int size()
Returns the number ofKeyStroke
bindings.- Returns:
- the number of
KeyStroke
bindings
allKeys
public KeyStroke[] allKeys()
Returns an array of theKeyStroke
s defined in thisInputMap
and its parent. This differs fromkeys()
in that this method includes the keys defined in the parent.- Returns:
- an array of the
KeyStroke
s defined in thisInputMap
and its parent