我正在创建一个 Pong 克隆,并且正在尝试使用 KeyBindings。这有效:
getInputMap().put(KeyStroke.getKeyStroke("F2"),"leftup");
getActionMap().put("leftup", new AbstractAction() {
private static final long serialVersionUID = -7625435800213244316L;
public void actionPerformed(ActionEvent e) {
System.out.println("Yay");
}
});
但不是这个:
getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_W, Event.ACTION_EVENT),"leftup");
getActionMap().put("leftup", new AbstractAction() {
private static final long serialVersionUID = -7625435800213244316L;
public void actionPerformed(ActionEvent e) {
System.out.println("Yay");
}
});
最佳答案
根据 Java 文档,没有适合 KeyEvent、Event 的 getKeyStroke
重载。
非常确定
getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_W, Event.ACTION_EVENT),"leftup");
应该是
getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_W),"leftup");
关于java - 键绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7972872/