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 originalprivate void codigoKeyPressed(java.awt.event.KeyEvent evt) {
teclaPresionada(evt.getKeyCode());
}
y en el metodo teclaPresionada() me fijo que tecla presionó. Si presionó F1...
Código Javascript
:
Ver originalprivate void teclaPresionada(int tecla) {
if (tecla == KeyEvent.VK_F1)
cerrar();
}
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.