密钥绑定问题

时间:2011-11-01 21:02:42

标签: java swing key-bindings

我正在创建一个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");
            }
        });

1 个答案:

答案 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");