Si usted está escribiendo un juego de video o el deseo de ofrecer a los usuarios una nueva forma de navegar por la interfaz de usuario, en respuesta a las teclas direccionales / de flecha en el programa Java es bastante simple. En este artículo se demuestra cómo detectar las pulsaciones de tecla direccional en su programa de una manera muy simplista, aunque los conceptos son bastante simples que deberían aplicar fácilmente a su programa, no importa lo que es el tamaño.
Instrucciones
1 Crear una clase que servirá para inicializar y lanzar nuestro JFrame principal, así:
java.awt.Dimension importación;
java.lang.reflect.InvocationTargetException importación;
javax.swing.JFrame importación;
javax.swing.SwingUtilities de importación;
DirectionalKeyPressTester última clase pública implementa Ejecutable {
public static void main(String[] args) throws InterruptedException, InvocationTargetException {
SwingUtilities.invokeAndWait (nueva DirectionalKeyPressTester ());
}
@Anular
public void run () {
fotograma = new JFrame ( "direccional KeyPress Tester");
frame.setSize (nueva dimensión (800, 600));
frame.setVisible (true);
}
JFrame marco privado;
}
2 Añadir un oyente KeyEvent a su marco con el siguiente código:
frame.addKeyListener(new KeyListener() {
@Anular
public void keyTyped (KeyEvent e) {
}
@Anular
keyReleased (KeyEvent e) {public void
}
@Anular
keyPressed (KeyEvent e) {public void
keyCode final int = e.getKeyCode ();
interruptor (keyCode) {
caso KeyEvent.VK_DOWN: {
System.out.println ( "Usted pulsa la tecla de flecha abajo!");
descanso;
}
caso KeyEvent.VK_UP: {
System.out.println ( "Usted pulsa la flecha hacia arriba!");
descanso;
}
caso KeyEvent.VK_LEFT: {
System.out.println ( "Usted pulsa la flecha izquierda!");
descanso;
}
caso KeyEvent.VK_RIGHT: {
System.out.println ( "Usted pulsa la flecha derecha!");
descanso;
}
defecto: {
System.out.println ( "Usted ha pulsado una tecla:" + KeyEvent.getKeyText (keyCode));
descanso;
}
}
}
});
3 Compilar y ejecutar el programa. En función de las teclas que presiona, usted debe tener una salida similar a la siguiente:
Se ha pulsado la flecha hacia arriba!
Se ha pulsado la flecha hacia abajo!
Se ha pulsado la flecha a la derecha!
Se ha pulsado la flecha izquierda!
Se ha pulsado alguna otra tecla: K
Se ha pulsado alguna otra tecla: Punto y coma
Consejos y advertencias
- Aunque este artículo demuestra el uso de la KeyEvent en la clase JFrame, se aplica a cualquier descendiente de la clase de componentes, tales como botones, casillas de verificación, etiquetas, campos de texto, etc.