Tecla de Atalho

6 respostas
J

Algue saberia me dizer se há algum jeito de criar atalhos no java sem precisar usar teclas de controle como ALT,CTRL e SHIFT ?
Ate onde sei o setMnemonic só funciona com elas, gostaria de saber se algum jeito direto de se fazer isso, sem precisar replicar codigo em todos os componentes, para ser mais exato a intenção é usar as teclas F1~F12 diretamente.
Obrigado.

6 Respostas

Eric_Yuzo

http://download.oracle.com/javase/tutorial/uiswing/misc/keybinding.html

http://www.guj.com.br/posts/list/75002.java#394125

J

Chame o evento formKeyPressed do JFrame.

Exemplo:

private void formKeyPressed(java.awt.event.KeyEvent evt) {                                
        atalhos(evt);
    }

Código do método atalhos.

private void atalhos(KeyEvent evt){
        /*Mostra a key da tecla pressionada*/
        //System.out.println(evt.getKeyCode());

        //Condição para F2
        if (evt.getKeyCode() == 113) {
 
        //Condição para F3
        } else if (evt.getKeyCode() == 114) {
 
        //Condição para F4
        }else if (evt.getKeyCode() == 115){

        //Condição para F5
        }else if (evt.getKeyCode() == 116){
        
        //Condição para F6
        }else if (evt.getKeyCode() == 117){

        //Condição para F7
        }else if (evt.getKeyCode() == 118){

        //Condição para F8
        }else if (evt.getKeyCode() == 119){

        //Condição para F9
        }else if (evt.getKeyCode() == 120){

        }
    }

Vc também pode usar o switch case para fazer isso.

Eric_Yuzo

O problema do KeyListener é que teria que adicioná-lo em todos os componentes.

J

Sim… tem esse problema…

Coloquei esse só pra ele seguir de exemplo mesmo… os links que vc passou são bem melhores… a maneira como o Vini colocou no post é muito boa.

Eric_Yuzo

joyle:
Sim… tem esse problema…

Coloquei esse só pra ele seguir de exemplo mesmo… os links que vc passou são bem melhores… a maneira como o Vini colocou no post é muito boa.


Eu falei mais porque eu já usei o KeyListener desta forma. Quase chorei quando descobri o InputMap. :lol:

J

Muito obrigado, os links ajudaram muito.
Tópico fechado !!!

Criado 11 de novembro de 2010
Ultima resposta 11 de nov. de 2010
Respostas 6
Participantes 3