cara…por exemplo, eu coloco que quando eu aperta ESC de um System.out.println(“Teste”), ta ai blz, ai quando eu clico num botoa e ele faz aparecer um JOptionPane, blz, mais ai quando eu do ESC no JOptionPane, tbm executa o System.out.println(“Teste”), alguem sabe por que?
o listener é uma thread que fica monitorandos os eventos
no caso keylistener os evento de teclado independente dos acontecimentos junto, isto está codificado na mesma area de código relacionado com a geração do JOptionPane, entaum o codigo do JOptionPane está relacionado com o código do local que gerou
com isso a conclusão de que os eventos de teclados são tratados, ficando os eventos relacionados com esse tratamento, repassando o tratamento de eventos para o codigo que chamou o JOptionPane
tipo colocando um flag para indicar/ desabilitar a resposta do evento
e dentro do KeyListener vc realizar a verificação desse flag caso esteja
indicando que o JOptionPane estah ativo não trata o evento
tipo no esquema de código:
...
flag = true; // desabilita a resposta do evento
JOptionPane ...... // definição do seu JOptionPane
flag = false; // reabilita a resposta do evento
...
dentro do seu Tratamento do evento antes da execução da resposta vc coloca um IF
if( !flag ) {
System.out.println("Teste");
}
essa eh a ideia para “desabilitar” o tratamento do evento