Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Class InputMap

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

Since:
  1.3

Constructor Summary
`InputMap()` Creates an `InputMap` with no parent and no mappings.

Method Summary
`KeyStroke[]` | `allKeys()` Returns an array of the `KeyStroke`s defined in this `InputMap` and its parent.
`void` | `clear()` Removes all the mappings from this `InputMap`.
`Object` | `get(KeyStroke keyStroke)` Returns the binding for `keyStroke`, messaging the parent `InputMap` if the binding is not locally defined.
`InputMap` | `getParent()` Gets this `InputMap`'s parent.
`KeyStroke[]` | `keys()` Returns the `KeyStroke`s that are bound in this `InputMap`.
`void` | `put(KeyStroke keyStroke, Object actionMapKey)` Adds a binding for `keyStroke` to `actionMapKey`.
`void` | `remove(KeyStroke key)` Removes the binding for `key` from this `InputMap`.
`void` | `setParent(InputMap map)` Sets this `InputMap`'s parent.
`int` | `size()` Returns the number of `KeyStroke` bindings.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### InputMap

    public InputMap()

  Creates an `InputMap` with no parent and no mappings.

Method Detail

### setParent

    public void setParent(InputMap map)

  Sets this `InputMap`'s parent.

  Parameters:
    `map` - the `InputMap` that is the parent of this one

### getParent

    public InputMap getParent()

  Gets this `InputMap`'s parent.

  Returns:
    map the `InputMap` that is the parent of this one, or null if this `InputMap` has no parent

### put

    public void put(KeyStroke keyStroke,
                    Object actionMapKey)

  Adds a binding for `keyStroke` to `actionMapKey`. If `actionMapKey` is null, this removes the current binding for `keyStroke`.

### get

    public Object get(KeyStroke keyStroke)

  Returns the binding for `keyStroke`, messaging the parent `InputMap` if the binding is not locally defined.

### remove

    public void remove(KeyStroke key)

  Removes the binding for `key` from this `InputMap`.

### clear

    public void clear()

  Removes all the mappings from this `InputMap`.

### keys

    public KeyStroke[] keys()

  Returns the `KeyStroke`s that are bound in this `InputMap`.

### size

    public int size()

  Returns the number of `KeyStroke` bindings.

### allKeys

    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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.