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;
}
}