Ich bin erstellen Sie ein Formular in Java Swing, und eines der Felder ist ein JTextArea
. Wenn ich die Tab - Taste auf alle anderen Bereiche, es gibt den Fokus auf das nächste widget, aber in der JTextArea
es fügt ein tab-Zeichen (horizontal space) im text.
Wie kann ich dieses Verhalten ändern?
InformationsquelleAutor der Frage XGouchet | 2011-02-18
InformationsquelleAutor der Antwort camickr
könnten Sie die "NextWidget.grabFocus()" Methode innerhalb der keylistener der JTextArea wenn die Taste "tab" gedrückt wird,
Mit dieser Letztgenannte Ansatz des tab-Zeichen wird immer noch eingefügt in die JTextArea bevor der Fokus verlagert sich Weg. Wenn Sie nicht wollen, dass Verhalten können Sie erstellen eine Unterklasse der JTextArea, deren isManagingFocus () - Methode gibt immer false statt true. Zum Beispiel:
Einer Instanz von NoTabTextArea kann verwendet werden, genau wie eine JTextArea, außer, dass die tab-Taste, wird die Ursache der Schwerpunkt verlagerte sich Weg von ihm, ohne ein tab-Zeichen eingefügt wird.
InformationsquelleAutor der Antwort Bartzilla
Können Sie rufen Sie die folgende Methode in deiner main
JFrame
oderJPanel
Konstruktor.Die Nutzung wird durch den Aufruf so:
disableTabbingInTextAreas(this)
InformationsquelleAutor der Antwort Abel M.
InformationsquelleAutor der Antwort ashish