Embora a maioria das necessidades de obter a entrada do usuário são tratadas com bastante facilidade no Swing via componentes padrão - por exemplo, recebendo texto através de um componente JTextField - às vezes é necessário para obter as teclas pressionadas exatas do usuário. Talvez uma combinação de teclas específica fará com que uma determinada ação, ou talvez você queira evitar que certos traços essenciais de ter seu efeito padrão, tais como permitir que apenas caracteres alfabéticos em uma caixa de texto . Independentemente do cenário, recebendo a chave o usuário pressionou é simples. Coisas que você precisa
Java SDK
Ambiente de Desenvolvimento Integrado , como o Eclipse ou NetBeans , recomendado mas não obrigatório
Show Mais instruções
1
Crie uma classe simples que cria e exibe um JFrame por agora :
java.awt.Dimension importação;
java.lang.reflect.InvocationTargetException importação;
javax.swing.JFrame importação;
javax.swing.SwingUtilities importação ;
público KeyPressTester classe final implementa Runnable {
void main ( string [ ] args ) public static joga InterruptedException , InvocationTargetException {
SwingUtilities.invokeAndWait ( novo KeyPressTester ()); }
@ Override
public void run () {
frame = new JFrame ( " KeyPress Tester ");
frame.setSize (new Dimension ( 800, 600) );
frame.setVisible (true); }
quadro JFrame privado;
}
2
Modifique o método run () para adicionar um KeyListener para o quadro com a seguinte implementação :
frame.addKeyListener (new KeyListener () { @ Override
( KeyEvent e) { }
@ Override
pública público keyTyped vazio anular keyReleased ( KeyEvent e) { }
@ Override public void
keyPressed ( KeyEvent e) {
System.out.println ( "Chave Character : "+ e.getKeyChar () + "; chave de código : "+ KeyEvent.getKeyText ( e.getKeyCode ()) ); }
});
< br >
3
Compilar e executar o programa. Se você pressionar uma tecla quando o quadro tem o foco , você deve ver a saída do console , que descreve a chave que você pressionou , incluindo tanto o caráter real de texto ( se disponível) eo texto da chave, tais como Shift, Ctrl , Backspace , etc