Деактивировать KeyListener задержать Java [Duplicate]JAVA

Программисты JAVA общаются здесь
Anonymous
Деактивировать KeyListener задержать Java [Duplicate]

Сообщение Anonymous »

Я написал небольшую программу с jlabel в ней, и как только я нажимаю с A / S / D, этикетка движется. Проблема в том, что когда я нажимаю и держу, например, W, метка перемещает только один пиксель, а затем продолжает двигаться, пока я снова не отпущу его. Есть ли способ деактивировать эту задержку?@Override
public void keyPressed(KeyEvent e) {

if (e.getKeyCode() == KeyEvent.VK_W) oben = true;
if (e.getKeyCode() == KeyEvent.VK_S) unten = true;
if (e.getKeyCode() == KeyEvent.VK_A) links = true;
if (e.getKeyCode() == KeyEvent.VK_D) rechts = true;

updatePlayerPosition();}

@Override
public void keyTyped(KeyEvent e) {

}
@Override
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_W) oben =false;
if (e.getKeyCode() == KeyEvent.VK_S) unten =false;
if (e.getKeyCode() == KeyEvent.VK_A) links =false;
if (e.getKeyCode() == KeyEvent.VK_D) rechts=false;
updatePlayerPosition();
}

public void updatePlayerPosition(){
int neueX = coordienaten_player_x;
int neueY = coordienaten_player_y;

if (oben) neueY -= 5;
if (unten) neueY += 5;
if (links) neueX -= 5;
if (rechts) neueX += 5;
// Teste die neue Position auf Kollision
player.setBounds(neueX, neueY, 50, 50);


Подробнее здесь: https://stackoverflow.com/questions/795 ... delay-java

Вернуться в «JAVA»