Tratar Eventos de teclas com modificadores por InputMap
4 respostas
lucas_guj
Olá a todos,
Gostaria de saber como tratar eventos de teclas com modificadores por InputMap e ActionMap, tipo assim:
Eu aperto o tecla menos, mais, aspas dupla do teclado, ou entao sinal de interrogação, sinal agudo, vírgula, ponto final, etc.( algumas dessas teclas precisam do shift apertado junto), e exibir isso em uma área de texto. Estou pedindo um exemplo que acredito que com exemplo eu consiga.
Dica - faça um programa bem bobinho que tenha um KeyListener em um JTextField (ah ha, você não esperava isso de mim, que sou contra usar KeyListener a torto e a direito, porque normalmente não funciona) e imprima quais são os códigos gerados por essas teclas chatinhas.
Uma vez feito isso, você pode usar os KeyStrokes corretos.
lucas_guj
entanglement:
Dica - faça um programa bem bobinho que tenha um KeyListener em um JTextField (ah ha, você não esperava isso de mim, que sou contra usar KeyListener a torto e a direito, porque normalmente não funciona) e imprima quais são os códigos gerados por essas teclas chatinhas.
Uma vez feito isso, você pode usar os KeyStrokes corretos.
:shock: Pq você sugere isso? Sugere ao invés de eu usar o JTextArea, usar um JTextField para fazer o mesmo, configurando-o como não editável e digitando e exibindo as teclas nele?
E
entanglement
Use qualquer coisa que atenda a essas teclas (JTextField, JTextArea, JLabel ou sei lá o quê - basta ter um KeyListener funcionando).
O que eu disse para fazer é um programa do tipo “use para testar, e jogue fora” (embora, obviamente, você não vá querer jogar fora esse programinha de teste )
A saída do programa, provavelmente, é só um toString do evento que foi capturado pelo KeyListener, e desse toString você pode verificar qual é o KeyStroke correspondente.