Java tuturial表示“要使组件忽略它通常响应的键,您可以使用特殊操作名称”none“。例如,以下代码使组件忽略F2键:< / p>
component.getInputMap().put(KeyStroke.getKeyStroke("F2"), "none");
“
还有一种方法getInputMap().remove(KeyStroke.getKeyStroke("F2"));
有什么区别?为什么要使用第一种方法?
答案 0 :(得分:2)
为了扩展VGR的注释,使用“none”只会影响单个组件。在组件上使用remove()也只会影响该组件。
您还可以remove
来自LAF InputMap的绑定:
component.getInputMap().getParent().remove(...);
在这种情况下,将删除该类的所有组件的绑定。这将影响已在应用程序中创建或将创建的任何组件。
您可以使用特殊操作名称“none”。
此外,“无”不是特殊名称。它只是在ActionMap上执行查找时使用的值。如果没有找到使用此值的Action,则没有任何反应。