Module java.desktop
Package javax.swing

Class InputMap

java.lang.Object
javax.swing.InputMap
所有已实现的接口:
Serializable
直接已知的子类:
ComponentInputMap, InputMapUIResource

public class InputMap extends Object implements Serializable
InputMap提供了输入事件(目前仅使用KeyStroke)和Object之间的绑定。通常与ActionMap一起使用InputMap,以确定按下键时要执行的ActionInputMap可以有一个父级,用于搜索未在InputMap中定义的绑定。

ActionMap一样,如果创建循环,例如:

   InputMap am = new InputMap();
   InputMap bm = new InputMap():
   am.setParent(bm);
   bm.setParent(am);
 
一些方法将导致抛出StackOverflowError。
自版本:
1.3
  • Constructor Details

    • InputMap

      public InputMap()
      创建一个没有父级和映射的InputMap
  • Method Details

    • setParent

      public void setParent(InputMap map)
      设置此InputMap的父级。
      参数:
      map - 此InputMap的父级
    • getParent

      public InputMap getParent()
      获取此InputMap的父级。
      返回:
      map - 此InputMap的父级,如果此InputMap没有父级则返回null
    • put

      public void put(KeyStroke keyStroke, Object actionMapKey)
      keyStroke添加到actionMapKey的绑定。如果actionMapKey为null,则会删除keyStroke的当前绑定。
      参数:
      keyStroke - 一个KeyStroke
      actionMapKey - 一个动作映射键
    • get

      public Object get(KeyStroke keyStroke)
      返回keyStroke的绑定,如果本地未定义绑定,则会调用父级InputMap
      参数:
      keyStroke - 要获取绑定的KeyStroke
      返回:
      keyStroke的绑定
    • remove

      public void remove(KeyStroke key)
      从此InputMap中删除key的绑定。
      参数:
      key - 要删除绑定的KeyStroke
    • clear

      public void clear()
      删除此InputMap中的所有映射。
    • keys

      public KeyStroke[] keys()
      返回在此InputMap中绑定的KeyStroke
      返回:
      一个KeyStroke数组,其中绑定在此InputMap
    • size

      public int size()
      返回KeyStroke绑定的数量。
      返回:
      KeyStroke绑定的数量
    • allKeys

      public KeyStroke[] allKeys()
      返回在此InputMap及其父级中定义的KeyStroke数组。与keys()不同的是,此方法包括父级中定义的键。
      返回:
      一个在此InputMap及其父级中定义的KeyStroke数组