Java:KeyListener类不检测按键,只检测按键释放
我正在构建一个非常简单的游戏来练习我的基本Java知识,而我的Java:KeyListener类不检测按键,只检测按键释放,java,keylistener,Java,Keylistener,我正在构建一个非常简单的游戏来练习我的基本Java知识,而我的KeyManager类没有响应 package me.holdenew.game.keyinputs; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class KeyManager implements KeyListener { private boolean[] keys; public boolean u
KeyManager
类没有响应
package me.holdenew.game.keyinputs;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class KeyManager implements KeyListener {
private boolean[] keys;
public boolean up, down, left, right;
public KeyManager() {
keys = new boolean[256];
}
public void update() {
up = keys[KeyEvent.VK_W] || keys[KeyEvent.VK_UP];
down = keys[KeyEvent.VK_S] || keys[KeyEvent.VK_DOWN];
left = keys[KeyEvent.VK_A] || keys[KeyEvent.VK_LEFT];
right = keys[KeyEvent.VK_D] || keys[KeyEvent.VK_RIGHT];
}
@Override
public void keyPressed(KeyEvent e) {
keys[e.getKeyCode()] = true;
System.out.println(Integer.toString(e.getKeyCode()) + " pressed");
}
@Override
public void keyReleased(KeyEvent e) {
keys[e.getKeyCode()] = false;
System.out.println(Integer.toString(e.getKeyCode()) + " released");
}
@Override
public void keyTyped(KeyEvent e) {
}
}
我添加了
print
语句,这些语句在我按键时被调用,因此我知道类设置正确。但是,如果我一次按多个键或按住一个键并按东西,则所有键都没有响应,只调用keyreased
print语句,而不是keyPressed
one语句。请您帮我解决这个问题好吗?这可能是您的键盘(以及大多数键盘)的硬件限制。请参阅和。这可能是键盘(和大多数键盘)的硬件限制。见和。