模块 java.desktop

类 InputMap

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

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

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

  InputMap am = new InputMap();
  InputMap bm = new InputMap():
  am.setParent(bm);
  bm.setParent(am);
 
某些方法会导致抛出 StackOverflowError。
自从:
1.3
  • 构造方法详细信息

    • InputMap

      public InputMap()
      创建一个没有父级也没有映射的 InputMap
  • 方法详情

    • setParent

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

      public InputMap  getParent()
      获取此 InputMap 的父级。
      返回:
      映射 InputMap 这是这个的父级,如果这个 InputMap 没有父级则为 null
    • put

      public void put(KeyStroke  keyStroke, Object  actionMapKey)
      添加 keyStrokeactionMapKey 的绑定。如果 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
      返回:
      在此 InputMap 中绑定的 KeyStroke 数组
    • size

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

      public KeyStroke [] allKeys()
      返回在此 InputMap 及其父级中定义的 KeyStroke 的数组。这与 keys() 的不同之处在于此方法包括在父级中定义的键。
      返回:
      在此 InputMap 及其父项中定义的 KeyStroke 的数组