Wie finde ich heraus, welches Objekt gerade den Fokus hat?
Habe ich ein paar TextField
s in meinem Frame
. Ich möchte wissen, welche TextField
derzeit den Fokus hat. Wie kann ich diese Informationen finden?
InformationsquelleAutor der Frage Talha Bin Shakir | 2009-04-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
JFrame.getFocusOwner()
(geerbt vonFenster.getFocusOwner()
) sollten für die Rückgabe einer Referenz auf die Komponente mit dem Fokus.getMostRecentFocusOwner()
könnte auch von Interesse sein.InformationsquelleAutor der Antwort Rob
InformationsquelleAutor der Antwort Peter Tseng
getFocusOwner() zurück, die Kind-Komponente, die derzeit konzentriert.
Aber Sie haben zu prüfen, um zu sehen, ob es ist ein JTextField. Weitere Komponenten, wie Schaltflächen ausgerichtet werden kann, wenn Sie es in Ihrem Rahmen, als auch.
InformationsquelleAutor der Antwort euphoria83
Haben auch einen Blick auf die javax.swing.FocusManager
InformationsquelleAutor der Antwort Carlos Heuberger
Diese tutorial sollte ziemlich hilfreich, um zu verstehen, konzentrieren.
InformationsquelleAutor der Antwort Mitch Flax
KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner()
;wont Arbeit auf mehrere threads. Also, wenn Ihr die app startet einen neuen thread und dieser thread hat seinen eigenen frame/Fenster etc, dann wird es nicht in der Lage sein, den Fokus erhalten Besitzer von diesem thread. Stattdessen:
KeyboardFocusManager.getCurrentKeyboardFocusManager().getGlobalFocusOwner();
InformationsquelleAutor der Antwort Scouser
Jede JComponent hat eine hat_fokus Methode, die Sie verwenden können, um zu überprüfen, ob es den Fokus hat.
Dies wurde jedoch geändert, und jetzt sollten Sie verwenden isFocusOwner.
So führen Sie über alle text-Felder in Ihren Rahmen, und prüfen Sie auf jeden von Ihnen, wenn es isFocusOwner durch aufrufen dieser Methode.
Könnten Sie auch die Fokus-Besitzer durch den Rahmen.
InformationsquelleAutor der Antwort Uri