javax.swing

## Class ComponentInputMap

- java.lang.Object
- - javax.swing.InputMap
  - - javax.swing.ComponentInputMap

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    ComponentInputMapUIResource

      public class ComponentInputMap
      extends InputMap

  A `ComponentInputMap` is an `InputMap` associated with a particular `JComponent`. The component is automatically notified whenever the `ComponentInputMap` changes. `ComponentInputMap`s are used for `WHEN_IN_FOCUSED_WINDOW` bindings.
  Since:
    1.3

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ComponentInputMap(JComponent component)` | Creates a `ComponentInputMap` associated with the specified component.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `clear()` | Removes all the mappings from this object.
    `JComponent` | `getComponent()` | Returns the component the `InputMap` was created for.
    `void` | `put(KeyStroke keyStroke, Object actionMapKey)` | Adds a binding for `keyStroke` to `actionMapKey`.
    `void` | `remove(KeyStroke key)` | Removes the binding for `key` from this object.
    `void` | `setParent(InputMap map)` | Sets the parent, which must be a `ComponentInputMap` associated with the same component as this `ComponentInputMap`.

    - ### Methods inherited from class javax.swing.InputMap

      `allKeys, get, getParent, keys, size`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### ComponentInputMap

          public ComponentInputMap(JComponent component)

      Creates a `ComponentInputMap` associated with the specified component.
      Parameters:
        `component` - a non-null `JComponent`
      Throws:
        `IllegalArgumentException` - if `component` is null

  - ### Method Detail

    - #### setParent

          public void setParent(InputMap map)

      Sets the parent, which must be a `ComponentInputMap` associated with the same component as this `ComponentInputMap`.
      Overrides:
        `setParent` in class `InputMap`
      Parameters:
        `map` - a `ComponentInputMap`
      Throws:
        `IllegalArgumentException` - if `map` is not a `ComponentInputMap` or is not associated with the same component

    - #### getComponent

          public JComponent getComponent()

      Returns the component the `InputMap` was created for.

    - #### 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`.
      Overrides:
        `put` in class `InputMap`

    - #### remove

          public void remove(KeyStroke key)

      Removes the binding for `key` from this object.
      Overrides:
        `remove` in class `InputMap`

    - #### clear

          public void clear()

      Removes all the mappings from this object.
      Overrides:
        `clear` in class `InputMap`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.