Wie kann ich alle KeyListeners ignorieren, die von Client-Programme hinzugefügt wurden, wenn bestimmte Bedingungen erfüllt sind?
-
02-10-2019 - |
Frage
Ich hatte kein Glück mit der Bahn, soweit dies betrifft, die am nächsten komme ich habe, ist auf der EventQueue
zu lesen, aber ich kann nicht scheinen zu finden, eine Möglichkeit, ein Ereignis standardmäßig zu entfernen.
Ich habe eine JTextField
überlastet, so dass sie die restlichen Zeichen zeigen in einem „erraten“ Wort (Teil einer kompletten Selbst Komponente), und wenn „Enter“ gedrückt wird, während die JTextField
noch „erraten“, ein Wort, das ich es will zu füllen, in dem verbleibenden Teil des Wortes (this.setText(this.currentGuess);
) und andere KeyListeners
ignorieren, die auf die Komponente in einem Client-Programm.
Als Test im Konstruktor Ich füge zwei KeyListeners
und bisher nichts, was ich getan habe, hat es geschafft, die zweite von Brennen zu verhindern.
Lösung
Sie sollten getKeyListeners()
um zu sehen, wer zuhören und alle, aber die gewünschten Hörer entfernen.
Nachtrag: Sehen Sie sich auch alternative Implementierungen, wie die diskutiert hier .