Module  java.desktop
软件包  javax.swing

Class InputMap

  • All Implemented Interfaces:
    Serializable
    已知直接子类:
    ComponentInputMapInputMapUIResource


    public class InputMap
    extends Object
    implements Serializable
    InputMap提供了输入事件(目前仅使用KeyStroke )和Object InputMap通常与ActionMap一起使用,以确定按下键时执行的Action 一个InputMap可以有一个父对象,搜索InputMap未定义的InputMap

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

      InputMap am = new InputMap();
       InputMap bm = new InputMap():
       am.setParent(bm);
       bm.setParent(am); 
    一些方法将导致抛出一个StackOverflowError。
    从以下版本开始:
    1.3
    另请参见:
    Serialized Form
    • 构造方法详细信息

      • InputMap

        public InputMap​()
        创建一个 InputMap ,没有父对象,没有映射。
    • 方法详细信息

      • setParent

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

        public InputMap getParent​()
        获取 InputMap的父母。
        结果
        映射 InputMap是这个的父母,如果这个 InputMap没有父
      • put

        public void put​(KeyStroke keyStroke,
                        Object actionMapKey)
        keyStroke添加一个绑定到actionMapKey 如果actionMapKey为空,则此操作将删除keyStroke的当前绑定。
        参数
        keyStroke - a 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​()
        返回 KeyStroke S中的这个约束 InputMap
        结果
        一个 KeyStroke的数组被绑定在这个 InputMap
      • size

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

        public KeyStroke[] allKeys​()
        返回此InputMap及其父级中定义的KeyStroke的数组。 这与keys()不同之处在于,该方法包括在父级中定义的键。
        结果
        一个 KeyStroke的数组,它定义在这个 InputMap及其父代