java - 键绑定(bind)问题

标签 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");
            }
        });

最佳答案

根据 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/

相关文章:

Java多线程鼠标点击

java - 需要帮助在内存游戏中随机化数字

终端模拟器中的 Emacs 键绑定(bind)更改

vim - Emacs 备忘单列出了日常 vim 命令的等效项

java - ACTION_USER_PRESENT、ACTION_SCREEN_ON、ACTION_BOOT_COMPLETED 的广播接收器

java - ApachePOI 无法识别 Excel .csv 文件。无效的 header 签名错误

java - 需要策略模式帮助

java - JTable、TableModel 和 TableData 之间的关系

visual-studio-2012 - 安装 Emacs 模拟键绑定(bind) - 无效的 VSIX 包

java - 在微调器中选择项目后,它没有反射(reflect)给我(肉眼不可见)