Na minha classe que implementa KeyListener eu programo o seguinte:
public void keyPressed(KeyEvent arg0) {
if(arg0.getKeyCode() == KeyEvent.VK_ESCAPE) {
// faço o que quero aqui
}
}
Desta forma, qdo o foco estiver em qq campo que eu implementei o KeyListener, ao pressionar a tecla ESC ele executa o que eu tiver programado acima.
Mas agora, o que eu quero na verdade é identificar o pressionamento da tecla ESC (e outras teclas) dentro do JFrame que estiver ativo. A qq momento que eu pressionar ESC (por ex) quero identificar, independente de onde estiver o foco no frame.
Algo parecido com o que fazemos ao programar no KeyDown e setar pra true o KeyPreview de um formulário em Delphi.
Não sei um jeito mto pratico para isso… Acredito q só criando uma classe q extende JTextField que tenha o comportamento q você qr… Não conheço uma forma d desviar o caminho do evento para ir pro JFrame e n pro JTextField…