Obwohl die meisten Bedürfnisse zu bekommen Benutzereingaben ganz leicht in Swing über Standard- Komponenten behandelt - zum Beispiel durch einen Text bekommen JTextField Komponente - manchmal ist es notwendig , die genauen Tastendrücke des Benutzers zu erhalten. Vielleicht eine bestimmte Tastenkombination bewirkt eine bestimmte Aktion , oder vielleicht wollen Sie bestimmte Tastenanschläge aus , deren Standard -Effekt, wie beispielsweise die Möglichkeit nur alphabetische Zeichen in einem Textfeld zu verhindern. Unabhängig von dem Szenario , immer die Taste der Benutzer gedrückt ist einfach. Things You
Java SDK
Integrated Development Environment brauchen , wie Eclipse oder NetBeans , empfohlen, aber nicht erforderlich
anzeigen Weitere Anweisungen
1
Erstellen Sie eine einfache Klasse das schafft und zeigt einen JFrame jetzt :
Import java.awt.Dimension ;
Import java.lang.reflect.InvocationTargetException ;
Import javax.swing.JFrame ;
Import javax.swing.SwingUtilities ;
public final class KeyPressTester implementiert Runnable {
public static void main (String [] args ) throws InterruptedException , InvocationTargetException {
SwingUtilities.invokeAndWait (neu KeyPressTester ()); }
@ Override
public void run () {
frame = new JFrame ( " KeyPress Tester ");
frame.setSize (new Dimension ( 800 , 600) );
frame.setVisible (true); }
< p> Private JFrame frame ;
}
2
Ändern Sie die run ()-Methode , um eine KeyListener mit dem Rahmen hinzuzufügen mit dem folgenden Umsetzung :
frame.addKeyListener (neu KeyListener () { @ Override
public void keyTyped ( KeyEvent e) { }
@ Override
öffentlichen Erlöschen keyReleased ( KeyEvent e) { }
@ Override public void
keyPressed ( KeyEvent e) {
System.out.println (" Key Charakter: "+ e.getKeyChar () + "; Schlüsselnummer: "+ KeyEvent.getKeyText ( e.getKeyCode ()) ); }
});
< br > Seite 3
Kompilieren und führen Sie das Programm . Wenn Sie eine Taste, wenn der Rahmen Fokus drücken , sollten Sie sehen , die die Ausgabe der Konsole Taste gedrückt wird, die sowohl die tatsächliche Textzeichen (falls vorhanden) und dem Text der Taste , wie Shift, Ctrl , Backspace etc. beschreibt