有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java简单密钥侦听器

好吧,我正在制作一个简单的乒乓球游戏,作为我的第一个真正的Java项目。我在JFrame底部的“网拍”可以正常工作,除了运动部分。我需要能够从键盘上读取输入。我知道这可以通过KeyListener(我认为)方法实现;Java文档网站告诉我可以将某些键绑定到某些操作。哪种方式最有效/最简单;如果是这样,最简单的实现方法是什么?我意识到这并不像

if(keypressed == VK_LEFT) 
    do something

但我一直在努力弄清楚这些该死的事情。请帮忙


共 (1) 个答案

  1. # 1 楼答案

    Key Bindings通常是首选方法,并且往往不那么麻烦

    InputMap im = getInputMap();
    ActionMap am = getActionMap();
    
    im.put(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.CTRL_DOWN_MASK), "left");
    im.put(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.CTRL_DOWN_MASK), "right");
    
    am.put("left", new AbstractAction() {
        @Override
        public void actionPerformed(ActionEvent e) {
            // Code to go left
        }
    });
    am.put("right", new AbstractAction() {
        @Override
        public void actionPerformed(ActionEvent e) {
            // Code to right
        }
    });
    

    真正酷的是,如果将Action创建为单独的类,那么可以在JButton上使用相同的Actions