Comando de teclado fechando JInternalFrame

3 respostas
H
Olá. Tenho um JInternalFrame dentro de um JDesktopPane e gostaria de saber se tem como eu vincular um comando do teclado (tipo alt+ f1, por exemplo) à ação de fechar apenas o JInternalFrame que está sendo exibido. 
 Obrigado.

3 Respostas

G

Voce pode criar um menu com atalho no internalframe, ou associar uma ação ao internalframe, tipo assim

getActionMap().put(CLOSE_ACTION_NAME, new CloseJIFAction());
getInputMap(JComponent.WHEN_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F1,KeyEvent.CTRL_MASK),CLOSE_ACTION_NAME);

neste caso CTRL F1 executaria a ação de da classe CloseJIFAction.
Valeu.

H

No caso de acionar acao como vc disse, eu insiro esse codigo que vc mencionou dentro de um addKeyListener?

G

não esse código é inserido no internalframe:

suaInternalFrame.getActionMap().put(CLOSE_ACTION_NAME, new CloseJIFAction());
suaInternalFrame.getInputMap(JComponent.WHEN_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_F1,KeyEvent.CTRL_MASK),CLOSE_ACTION_NAME);
Criado 10 de junho de 2006
Ultima resposta 13 de jun. de 2006
Respostas 3
Participantes 2