Tecla de Atalho

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.

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

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

Chame o evento formKeyPressed do JFrame.

Exemplo:

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

Código do método atalhos.

[code] 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){

    }
}[/code]

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

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

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.

[quote=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.[/quote]
Eu falei mais porque eu já usei o KeyListener desta forma. Quase chorei quando descobri o InputMap. :lol:

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