Duvida de KeyListener

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?

Valeu

eae blz?

bom pensando assim…

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

[]'s

ta, mais tem algum jeito de isso nao acontecer?

hum…

de isso não acontecer eu sinceramente não sei…

mas vc pode evitar que isso aconteça…

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 :wink:

[]'s

valeu