Fala pessoal,
ja estou perdendo os cabelos com isso :D, mas vamos lá…
eu tenho uma tela genérica que é um JInternalFrame, e nesta classe eu configuro algumas teclas de atalho…
ai rodando o sistema, qdo eu abro a tela funciona normal as teclas, porém se eu clico em algum lugar da tela para de
funcionar todos os atalhos.
Provavelmente é alguma coisa de foco…mas ainda não consegui fazer funcionar…
segue a parte que eu crio a tela e onde eu configuro os atalhos:
tProduto = new FormProduto("Consulta de Produto", this);
desktopPane.moveToFront(tProduto);
// ========= ok =========
this.getActionMap().put(Constantes.BT_OK.toString(), new AbstractAction()
{
@Override
public void actionPerformed(ActionEvent e)
{
// System.out.println(Constantes.BT_OK.toString());
btOkAction(e);
}
});
this.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_F10, 0), Constantes.BT_OK.toString());
//this.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_F10, 0), Constantes.BT_OK.toString());
// ========= Novo =========
this.getActionMap().put(Constantes.BT_NOVO.toString(), new AbstractAction()
{
@Override
public void actionPerformed(ActionEvent e)
{
//System.out.println(Constantes.BT_NOVO.toString());
btNovoAction(e);
}
});
this.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0), Constantes.BT_NOVO.toString());
// this.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0), Constantes.BT_NOVO.toString());
...//existem mais atalhos
se alguém puder dar uma ajuda, agradeço!