Como especificar tecla para executar uma ação?

Boas, colegas…

Por exemplo, eu tenho um frame com um botão Fechar.
Quando aperto a tecla “tab” até o botão ser selecionado, ao pressionar “enter” o botão não é acionado.
Então encontrei, no eclipse juno, o método KeyPressed, mas ao selecionar o botão, qualquer tecla o aciona.
Eu gostaria que apenas o “enter” fizesse o código do botão ser executado.
Duvido que a solução não seja simples. Alguém pode me ajudar, fazendo favor?

Agradecido
Lucas Ribeiro

Eu lembro do comando .setMneumonic pra poder definir alguma hot key, mas faz tempo que eu usei.
Mas eu encontrei isso aqui no forum, vê se te ajuda.


bFechar= new JButton();

bFechar.setText("Fechar");

bFechar.setMnemonic(KeyEvent.VK_N);

bFechar.addActionListener(new FecharListener()); // voce tem algum metodo que faça fechar, ou voce pode chamar no seu Botão

e nesse seu listener voce ter algo como

setDefaultCloseOperation(EXIT_ON_CLOSE); // que isso faz quando voce clicar no (x) da sua tela para que ela seja realmente fechada e nao fique com o processo aberto,

Abraços

No keypress você deve testar se a tacla selecionada foi o enter

if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
     //executa o código
}
1 curtida