Yes*_*sha 5 java swing action key-bindings jpanel
这是在JPanel的构造函数中,但是当我按"h"时它不会打印任何内容.如果需要更多代码,我可以提供.谢谢!
String hide = "hide";
this.getInputMap().put(KeyStroke.getKeyStroke('h'), hide);
this.getActionMap().put(hide, new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("HIDDEN");
if (isHidden){
slide.setVisible(true);
}else{
slide.setVisible(false);
}
}
});
Run Code Online (Sandbox Code Playgroud)
this.getInputMap()....
Run Code Online (Sandbox Code Playgroud)
您正在尝试将绑定添加到默认的InputMap,即组件具有焦点时的InputMap.默认情况下,JPanel没有焦点.您应该尝试使用该getInputMap(int)方法使用其他InputMaps之一.或者您需要使面板具有可聚焦性并使其具有焦点.
阅读有关如何使用键绑定的Swing教程,以获取有关用于指定所需InputMap的正确变量的更多信息.
| 归档时间: |
|
| 查看次数: |
1166 次 |
| 最近记录: |