我正在创建一个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");
}
});
答案 0 :(得分:2)
根据Java文档,getKeyStroke
没有适合KeyEvent,Event的重载。
非常确定
getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_W, Event.ACTION_EVENT),"leftup");
应该是
getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_W),"leftup");