Oie amigos, boa noite!
Estou com um probleminha, eu estou querendo fechar meus jDialogs com a tecla Esc.
Até aí tudo bem, está fechando tudo certinho, o problema é que por exemplo, eu tenho um cadastro de cliente, e uma pesquisa de cliente, se eu clico o esc na pesquisa, o dialog do cadastro que esta por tras tambem é fechado. Como posso resolver o problema?
Uso o seguinte codigo para fazer? Tem alguma coisa errada? Como fechar somente o dialog que esta em primeiro plano?
Obs.: Tentei colocar uma verificacao para ver se o dialog era o dono do foco com o metodo isFocusOwner mais nao resolveu, ele até fecha a primeira, mais se clico em esc novamente ele nao fecha, como se nunca dialog é o dono do foco, nao sei mais o que fazer, fiquei sem ideia. rsrsrs
Segue meu codigo
private void formWindowOpened(java.awt.event.WindowEvent evt) {
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
@Override
public void eventDispatched(final AWTEvent event) {
if (event.getID() == KeyEvent.KEY_PRESSED) {
final KeyEvent evt = (KeyEvent) event;
if (verificaEsc == false) {
if (evt.getKeyCode() == KeyEvent.VK_ESCAPE) {
verificaEsc = true;
acaoSair();
}
}
}
}
}, AWTEvent.KEY_EVENT_MASK);
}
Alguém pode me ajudar?
Obrigada!