Wie kann ich alle KeyListeners ignorieren, die von Client-Programme hinzugefügt wurden, wenn bestimmte Bedingungen erfüllt sind?

StackOverflow https://stackoverflow.com/questions/3712719

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.

hinzugefügt wurden

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.

War es hilfreich?

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 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top