Java KeyEvent квадратное движение
У меня есть кусок кода, в котором KeyEvent запускается при нажатии любой из клавиш со стрелками. Это в свою очередь заставляет квадрат перемещаться по экрану.
Теперь я заметил, что когда я нажимаю и удерживаю клавишу, квадрат сдвигается, но время после начального движения до последующих движений довольно большое, если вы понимаете, о чем я? Как бы я пошел на уменьшение этого времени?
Спасибо!
import java.awt.*;
import javax.swing.*;
import squarequest.sprites.*;
import java.awt.event.*;
public class GamePanel extends JPanel{
private final int HEIGHT = 400;
private final int WIDTH = 600;
private Square square;
private Circle circle;
public GamePanel(){
addKeyListener(new DirectionListener());
setBackground (Color.white);
setPreferredSize(new Dimension(WIDTH, HEIGHT));
setFocusable(true);
square = new Square();
}
public void paintComponent(Graphics g){
super.paintComponent(g);
square.display(g);
}
public class DirectionListener implements KeyListener{
@Override
public void keyReleased(KeyEvent event) {}
@Override
public void keyTyped(KeyEvent event) {}
@Override
public void keyPressed(KeyEvent event) {
switch(event.getKeyCode()){
case KeyEvent.VK_UP:
square.moveUp();
break;
case KeyEvent.VK_DOWN:
square.moveDown();
break;
case KeyEvent.VK_LEFT:
square.moveLeft();
break;
case KeyEvent.VK_RIGHT:
square.moveRight();
break;
}
repaint();
}
}
}