0

如何制作像大小写 VK_k 而不是 VK_K 的小 vk 字母?使用 Switch Case 谢谢

public void onKeyPressed(KeyEvent e){

    switch(e.getKeyCode()){

    case VK_K: 
               moveDirection=1;
               moveAmount = Double.POSITIVE_INFINITY;

             break;

    case VK_L: moveDirection=-1;
               moveAmount = Double.POSITIVE_INFINITY;
             break;

    case VK_H: turnDirection=-1;
             break;

    case VK_J: turnDirection=1;
             break;
    case VK_SPACE: firePower = 1;
            break;

    }

}
4

1 回答 1

4

您应该完整阅读KeyEvent的描述- 它包含答案:

虚拟键码用于报告按下了哪个键盘键,而不是由一个或多个击键组合生成的字符(例如“A”,它来自 shift 和“a”)。

结论:您的键盘只有一个K键 - 因此只有常量VK_K。您同时按下的其他键(shift、alt、ctrl、..)不会更改您获得的键码。

于 2017-05-02T17:11:03.250 回答