Module java.desktop
Package 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

    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 declared in class javax.swing.InputMap

      `allKeys, get, getParent, keys, size`

    - ### Methods declared in 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.
      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`
      Parameters:
        `keyStroke` - a `KeyStroke`
        `actionMapKey` - an action map key

    - #### remove

          public void remove​(KeyStroke key)

      Removes the binding for `key` from this object.
      Overrides:
        `remove` in class `InputMap`
      Parameters:
        `key` - the `KeyStroke` for which to remove the binding

    - #### clear

          public void clear()

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