Java密钥事件
我在想如何在按键时得到正确的通知时遇到了问题。处理多个键时,对于第一次按下的键,Java密钥事件,java,swing,awt,keylistener,keyevent,Java,Swing,Awt,Keylistener,Keyevent,我在想如何在按键时得到正确的通知时遇到了问题。处理多个键时,对于第一次按下的键,keyPressed方法似乎不会再次调用 示例:如果我按下向右箭头键并按住它,它会被反复调用(保持打印测试)。但是,如果我按下向右箭头键,然后在按住向右箭头键的同时按下空格键一次,只要松开空格键,keyPressed()方法似乎就不会被调用。(未打印任何内容) 这就是我的代码的样子: 按下公共无效键(按键事件e){ 系统输出打印(“测试”); 开关(如getKeyCode()){ case KeyEvent.VK_左
keyPressed
方法似乎不会再次调用
示例:如果我按下向右箭头键并按住它,它会被反复调用(保持打印测试)。但是,如果我按下向右箭头键,然后在按住向右箭头键的同时按下空格键一次,只要松开空格键,keyPressed()
方法似乎就不会被调用。(未打印任何内容)
这就是我的代码的样子:
按下公共无效键(按键事件e){
系统输出打印(“测试”);
开关(如getKeyCode()){
case KeyEvent.VK_左:
盖伊,左移();
打破
case KeyEvent.VK_RIGHT:
guy.moveRight();
打破
case KeyEvent.VK_空间:
伙计,跳();
打破
}
}
欢迎来到关注键盘的精彩世界 假设您已将
KeyListener
附加到组件
为了让任何组件接收按键事件,它必须是可聚焦的,并且具有键盘焦点。当你想用它做游戏的时候,它会变得非常脆弱
相反,你应该利用这个机会。除了使编写键操作更容易之外,它还允许您指定在什么焦点条件下应触发各个事件。谢谢,我将看一下键绑定。我已经做了一些键绑定,但其行为与以前完全相同。如果按下多个键,则焦点不会返回到释放最近一个键后仍在按下的上一个键。不要监听重复键事件,而是在键释放中放置一个标志或使用计时器和监视器,重置标志或停止计时器。我建议使用
javax.siwng.Timer