Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/11/2011, 06:54
tronco020
 
Fecha de Ingreso: noviembre-2010
Ubicación: Tandil
Mensajes: 79
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Duda Eventos a teclas F1, F2, F3, etc

Hola, ZedGe1505. La forma que encontré yo de solucionarlo es la siguiente: a todos los componentes del JFrame/JInternalFrame le defino el método keyPressed (desde el diseño, clic derecho en cada componente, Eventos -> Key -> keyPressed y en ese evento le digo lo siguiente:

Código Javascript:
Ver original
  1. private void codigoKeyPressed(java.awt.event.KeyEvent evt) {
  2.         teclaPresionada(evt.getKeyCode());
  3. }

y en el metodo teclaPresionada() me fijo que tecla presionó. Si presionó F1...

Código Javascript:
Ver original
  1. private void teclaPresionada(int tecla) {
  2.         if (tecla == KeyEvent.VK_F1)
  3.             cerrar();
  4. }

Por otro lado, desde el diseño, hacemos clic derecho en el botón con el que queremos cerrar y le damos a "Seleccionar acción..." Creamos una acción nueva llamada cerrar y ahí definimos lo que debe hacer el método cerrar().

Otra forma más sencilla es no hacer lo primero de teclaPresionada y hacemos sólo esto último, lo de "Seleccionar acción..." y en la opción Atributos -> Acelerador -> Letra presionamos la tecla F1 y ya le asigna esa tecla a esa acción. Por este último camino tuve algunos inconvenientes normales de Java, pero no deja de ser un camino fiable.

Suerte.