2012-04-05 13 views
1

Mögliche Duplizieren:
Comparing functionality between KeyListeners and Key BindingsKeyListeners vs Keybindings?

Ich habe versucht, die KeyListener in meinem Programm zu verwenden, um die Eingabe zu erhalten, um eine Anzahl zu konstruieren. Es funktioniert nicht, soweit ich es beurteilen kann, obwohl ich es vollständig implementiert habe, aber das ist nicht die Frage: P.

Jedenfalls habe ich im Internet gesucht, um zu sehen, ob ich etwas falsch gemacht habe, und stieß auf Keybindings, die anscheinend mit Swing-Komponenten im Gegensatz zu KeyListeners arbeiten. Was wäre besser, um nur die Eingabe von den Zifferntasten zu bekommen?

Antwort

2

Der Keylistener ist eine ältere Schnittstelle von den AWT-Tagen, es ist immer noch Ok, es mit Swing zu verwenden, aber es ist eher ein allgemeiner Zuhörer. Es bindet an alle Schlüssel.

KeyBindings unterscheiden sich insofern, als sie eine bestimmte Aktion spezifisch an einen bestimmten Schlüssel binden und andere Schlüssel davon nicht betroffen sind. Das Ergebnis davon ist, wenn Sie auf einen Schlüssel warten, dann ist ein KeyListener geeignet oder Sie müssen separate KeyBindings alle für alle Schlüssel implementieren, was offensichtlich albern ist.

Um Event-Handler mit großen Switch-Anweisungen zu vermeiden, existiert die KeyBinding.