Java tuturial说“要使组件忽略它通常响应的键,您可以使用特殊操作名称“none”。例如,以下代码使组件忽略 F2 键:
component.getInputMap().put(KeyStroke.getKeyStroke("F2"), "none");
"
还有一种方法getInputMap().remove(KeyStroke.getKeyStroke("F2"));
有什么区别?为什么要使用第一种方法?
Java tuturial说“要使组件忽略它通常响应的键,您可以使用特殊操作名称“none”。例如,以下代码使组件忽略 F2 键:
component.getInputMap().put(KeyStroke.getKeyStroke("F2"), "none");
"
还有一种方法getInputMap().remove(KeyStroke.getKeyStroke("F2"));
有什么区别?为什么要使用第一种方法?
为了扩展 VGR 的评论,使用“none”只会影响单个组件。在组件 InputMap 上使用 remove() 也只会影响该组件。
您还可以remove
从 LAF InputMap 进行绑定:
component.getInputMap().getParent().remove(...);
在这种情况下,该类的所有组件的绑定都将被删除。这将影响您的应用程序中已创建或将要创建的任何组件。
您可以使用特殊操作名称“无”。
此外,“无”不是一个特殊的名称。它只是在 ActionMap 上进行查找时使用的值。如果使用此值未找到任何操作,则不会发生任何事情。