为什么我的Keyevents不工作?

时间:2013-06-16 20:36:02

标签: java key switch-statement keyevent

我正在开发一个使用Keyevents的Java游戏。基本上,它是一个我想要增强的模板,但现在我正在努力解决一些基本问题。在这里:

在keyPressed()方法中有许多事件,如:

public void keyPressed(int key) {
    switch (key) {
    case KeyEvent.VK_A:
        System.out.println("A");
        methodA();
        break;
    case KeyEvent.VK_B:
        System.out.println("B");
        methodB();
        break;
    }
}

但是,当我尝试添加另一个KeyEvent时,如KeyEvent.VK_1,它不起作用/密钥无法识别。这是为什么?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

KeyListener有一个众所周知的问题。为了接收键事件,它注册的组件必须是可聚焦的并具有焦点。键事件也可能在它到达侦听器之前被消耗(通过您注册的组件)。

相反,您应该Key Bindings,这将为您提供更大的灵活性,以确定如何处理关键事件