Tecla Pressionada

6 respostas
paulofernandesjr

opa!

como posso fazer para quando uma tecla ou conjunto de teclas serem acionadas uma determinada ação ser tomada.

Por exemplo, quando aperta F2 quero que execute o metodo X, quando apertar as teclas CTRL+ALT+P quero que execute outro metodo e assim por diante.

Obrigado

6 Respostas

ViniGodoy

O princípio é o mesmo desse aqui:
http://www.guj.com.br/posts/list/140986.java

paulofernandesjr

Legal, ViniGodoy.

Segui o exemplo e fiz algumas customizações e consegui fazer o que precisava.

Agora tem outra dúvida, para abrir os itens clicados eu uso o JDialog setando como Modal, dessa forma sou obrigado a clicar no X para fechá-lo e continuar editando.

Tem como fazer para quando pressionar a tecla ESC ele fechar este modal?

Obrigado

ViniGodoy

Sim, é o mesmo princípio, só registrar o evento de fechar para a tecla VK_ESCAPE

Mas não recomendo. Quando a tela fica pouco responsiva, o usuário tende a apertar ESC para tentar cancelar a ação dele. E aí, quando a ação terminar a tela vai fechar, deixando ele ainda mais irritado. O esc também é usado para cancelar a edição de alguns componentes, como o JTable.

paulofernandesjr

esse tipo de problema acredito que não terei

o unico problema é ter que adicionar em todos os modais o mesmo código

ViniGodoy

é mais fácil vc criar um JDialog para servir de pai para todos os seus JDialogs.

E então fazer seus JDialogs se basearem nele.

Aí vc já inclui esse código no construtor.

paulofernandesjr

Fiz dessa forma mesmo

Valeu

Criado 5 de setembro de 2010
Ultima resposta 5 de set. de 2010
Respostas 6
Participantes 2