Bom dia.
Tenho a seguinte dúvida.
Criei um método onde é feita a ação da tecla ESC (ESCAPE).
Porém a minha janela principal é uma JInternalFrame e as minhas Inner Classes são JDialog modais (Retornam os dados somente quando são fechadas).
Com isso, se no meu método eu executar o método dispose(), ele obviamente fecha a janela principal, pois não estou especificando a janela que é para fechar.
Queria saber, qual argumento posso receber neste meu método, que seja possível eu saber a qual janela estou me referindo ???
Abaixo o código para análise:
public
void TableESCAction
(
final
JComponent ao_component // Estou usando este argumento para teste apenas.
)
{
//
// Adiciona a tecla e o nome do evento ao mapa de entrada.
//
ao_component.getInputMap(ao_component.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put
(
KeyStroke.getKeyStroke("released ESCAPE"),
"escAction"
);
//
// Adiciona o evento ao mapa de eventos.
//
ao_component.getActionMap().put
(
"escAction",
new AbstractAction()
{
public
void actionPerformed
(
ActionEvent e
)
{
//
// Fecha a janela.
//
}
}
);
}