# 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 InputMap

  `allKeys, get, getParent, keys, size`

  ### Methods declared in class Object

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

- ## Constructor Details

  - ### 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 Details

  - ### 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`