Jak wykrywać naciśnięcia klawiszy w Javie
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.