Jak wykrywać naciśnięcia klawiszy w Javie

Ważne jest, aby wiedzieć, kiedy użytkownik naciśnie dany klawisz.

Krok 1

Utwórz prostą klasę, która tworzy i pokazuje JFrame w tej chwili:

import java.awt.Dimension; import java.lang.reflect.InvocationTargetException;

import javax.swing.JFrame; import javax.swing.SwingUtilities;

publiczna klasa końcowa KeyPressTester implementuje Runnable {

public static void main (String [] args) zgłasza wyjątek InterruptedException, InvocationTargetException {SwingUtilities.invokeAndWait (new KeyPressTester ()); }

@Override public void run () {frame = new JFrame ("KeyPress Tester");

frame.setSize (nowy wymiar (800, 600)); frame.setVisible (true); }

prywatna ramka JFrame; }

Krok 2

Zmodyfikuj metodę run (), aby dodać KeyListener do frameworka z następującą implementacją:

frame.addKeyListener (new KeyListener () {

@Override public void keyTyped (KeyEvent e) {
}

@Override public void keyReleased (KeyEvent e) {
}

@Override public void keyPressed (KeyEvent e) {System.out.println ("Key Character:" + e.getKeyChar () + "; Key Code:" + KeyEvent.getKeyText (e.getKeyCode ())); }});

Krok 3

Skompiluj i uruchom program. Jeśli naciśniesz klawisz, gdy ramka ma fokus, powinieneś zobaczyć wyjście konsoli, które opisuje wciśnięty klawisz, w tym obecny tekst (jeśli jest dostępny) i tekst klawisza, taki jak Shift, Ctrl, Backspace itp.