首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JAVA实现儿童键盘的KeyCodes

用JAVA实现儿童键盘的KeyCodes
EN

Stack Overflow用户
提问于 2014-01-18 13:38:44
回答 1查看 1.4K关注 0票数 0

因此,我对Java编程相当陌生,我正在努力弄清楚keyEventListeners在Java中是如何工作的。我做了一个很小的程序,你可以控制一个红色方块,但唯一的问题是,它只在QWERTY键盘上工作。

下面是检查keyCode的代码:

代码语言:javascript
复制
public void keyPressed(KeyEvent e){
    int c = e.getKeyCode();

    if(c == KeyEvent.VK_LEFT){
        velX = -1;
        velY = 0;
    }
    if(c == KeyEvent.VK_UP){
        velX = 0;
        velY = -1;
    }
    if(c == KeyEvent.VK_RIGHT){
        velX = 1;
        velY = 0;
    }
    if(c == KeyEvent.VK_DOWN){
        velX = 0;
        velY = 1;
    }
}

如何将此更改为阿兹蒂箭头键,以及(如果可能的话)这两个键?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-18 14:41:20

您可以打印您不认识的密钥代码,以及键字符(可能对箭头键没有多大帮助)。这样你就可以知道不同类型键盘上的键码是什么。

箭头键上有其他键码吗?还是这些键被映射到相同的键码(KeyEvent.VK_LEFT和其他键)?如果您有其他密钥代码,则可以将它们添加到If条件中。

代码:

代码语言:javascript
复制
public void customKeyPressed(KeyEvent e){
    int c = e.getKeyCode();

    if(c == KeyEvent.VK_LEFT || c == AZERTY_LEFT){
        velX = -1;
        velY = 0;
    } else if(c == KeyEvent.VK_UP || c == AZERTY_UP){
        velX = 0;
        velY = -1;
    } else if(c == KeyEvent.VK_RIGHT || c == AZERTY_RIGHT){
        velX = 1;
        velY = 0;
    } else if (c == KeyEvent.VK_DOWN || c == AZERTY_DOWN) {
        velX = 0;
        velY = 1;
    } else
        System.out.println(e.getKeyChar() + " = " + c);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21204894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档