[RESOLVIDO] Problema para capturar as teclas de acentuação via getKeyCode

Pessoal,

Estou com um pequeno problema para capturar as teclas de acentuação, ex: ^ ’ `

Criei um botão via netbeans onde relacionei os eventos de KeyPress ao mesmo chamando uma rotina verify_key onde apenas imprime o código da tecla pressionada, porém quando eu pressiono a tecla ^ ’ ` não consigo capturar o código da tecla, o printscreen está relacionado ao sistema, se alguém souber como resolver eu agradeço.

private void verify_key(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
System.out.println(evt.getKeyCode());
}

Abraços.

Experimente rodar o programa que aparece em:

e veja qual é o código das teclas com acentos. Cuidado com a manipulação de “^” e “`”, porque é necessário usar o “shift” para tratar tais teclas.

Legal o programa, nele funciona bala… porém quando eu faço a associação com um botão o KeyPressed não funciona a não ser que o botão tenha foco… porém não gostaria que contivesse foco no botão, podendo ser pressionado a qualquer momento qualquer tecla.

Mas muito Obrigado pelo Help.

[quote=rfabiano.rosa]Legal o programa, nele funciona bala… porém quando eu faço a associação com um botão o KeyPressed não funciona a não ser que o botão tenha foco… porém não gostaria que contivesse foco no botão, podendo ser pressionado a qualquer momento qualquer tecla.

Mas muito Obrigado pelo Help.[/quote]

É claro que é assim. Se o botão não estiver com foco, o KeyPressed não recebe os eventos.

Veja:

http://java.sun.com/docs/books/tutorial/uiswing/misc/keybinding.html

Consegui!!! Rapaz… basta criar os 3 (três eventos) apontando para o mesmo método:

KeyPressed
KeyReleased
KeyType

pronto… agora ta funcionando balinha!!! :slight_smile:

Agora irei batalhar na tecla print-screen pois meu sistema Insigne Linux existe um atalho porém preciso filtar e capturar a tecla sem que ela tire o print-screen.