Module java.desktop
Package 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 KeyStrokes are used) and an Object. InputMaps 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

    Constructors
    Constructor
    Description
    Creates an InputMap with no parent and no mappings.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns an array of the KeyStrokes defined in this InputMap and its parent.
    void
    Removes all the mappings from this InputMap.
    get(KeyStroke keyStroke)
    Returns the binding for keyStroke, messaging the parent InputMap if the binding is not locally defined.
    Gets this InputMap's parent.
    Returns the KeyStrokes that are bound in this InputMap.
    void
    put(KeyStroke keyStroke, Object actionMapKey)
    Adds a binding for keyStroke to actionMapKey.
    void
    Removes the binding for key from this InputMap.
    void
    Sets this InputMap's parent.
    int
    Returns the number of KeyStroke bindings.

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • InputMap

      public InputMap()
      Creates an InputMap with no parent and no mappings.
  • Method Details

    • 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.
      Parameters:
      keyStroke - a KeyStroke
      actionMapKey - an action map key
    • get

      public Object get(KeyStroke keyStroke)
      Returns the binding for keyStroke, messaging the parent InputMap if the binding is not locally defined.
      Parameters:
      keyStroke - the KeyStroke for which to get the binding
      Returns:
      the binding for keyStroke
    • remove

      public void remove(KeyStroke key)
      Removes the binding for key from this InputMap.
      Parameters:
      key - the KeyStroke for which to remove the binding
    • clear

      public void clear()
      Removes all the mappings from this InputMap.
    • keys

      public KeyStroke[] keys()
      Returns the KeyStrokes that are bound in this InputMap.
      Returns:
      an array of the KeyStrokes that are bound in this InputMap
    • size

      public int size()
      Returns the number of KeyStroke bindings.
      Returns:
      the number of KeyStroke bindings
    • allKeys

      public KeyStroke[] allKeys()
      Returns an array of the KeyStrokes defined in this InputMap and its parent. This differs from keys() in that this method includes the keys defined in the parent.
      Returns:
      an array of the KeyStrokes defined in this InputMap and its parent