teclado tecla keypressed eventos evento esperar con activar java events

tecla - keypressed java enter



¿Cómo comprobar si la tecla presionada era una tecla de flecha en Java KeyListener? (5)

Debería utilizar cosas como: KeyEvent.VK_UP en lugar del código real.

¿Cómo quieres refactorizarlo? ¿Cuál es el objetivo de la refactorización?

¿Me pueden ayudar a refactorizar este código?

public void keyPressed(KeyEvent e) { if (e.getKeyCode()==39) { //Right arrow key code } else if (e.getKeyCode()==37) { //Left arrow key code } repaint(); }

Por favor, mencione cómo verificar las teclas de flecha arriba / abajo también. ¡Gracias!


Si quiere decir que quiere adjuntar esto a su panel (Ventana con la que está trabajando).

luego debe crear una clase interna que se extienda desde la interfaz IKeyListener y luego agregar ese método a la clase.

Luego, adjunte esa clase a su panel de la siguiente manera: this.addKeyListener (nueva subclase ());


Solo para completar la respuesta (usar KeyEvent es el camino a seguir), pero la flecha arriba es 38 y la flecha abajo es 40, entonces:

else if (e.getKeyCode()==38) { //Up arrow key code } else if (e.getKeyCode()==40) { //down arrow key code }


public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_RIGHT ) { //Right arrow key code } else if (e.getKeyCode() == KeyEvent.VK_LEFT ) { //Left arrow key code } else if (e.getKeyCode() == KeyEvent.VK_UP ) { //Up arrow key code } else if (e.getKeyCode() == KeyEvent.VK_DOWN ) { //Down arrow key code } repaint(); }

Los códigos KeyEvent son parte de la API: http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html


public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode(); switch( keyCode ) { case KeyEvent.VK_UP: // handle up break; case KeyEvent.VK_DOWN: // handle down break; case KeyEvent.VK_LEFT: // handle left break; case KeyEvent.VK_RIGHT : // handle right break; } }