Como especificar tecla para executar uma ação?

3 respostas
L

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

3 Respostas

M

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.

gusthavosouza
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

R

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

if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
     //executa o código
}
Criado 19 de fevereiro de 2013
Ultima resposta 19 de fev. de 2013
Respostas 3
Participantes 4