2016-06-12 8 views
7

Ich habe viele TextArea Knoten in einer Szene.Woher weiß ich, welcher Knoten in JavaFX fokussiert ist?

Ist es mir möglich herauszufinden, welche TextArea ausgewählt ist (hat die caret drin)?
Ich möchte in der Lage sein, den Knoten auszuwählen und es auf eine Node Variable zu setzen.

+0

einen Listener hinzufügen, um es –

+0

Wenn Sie eine 'TextArea' wählen, registriert die JVM diese. Wenn Sie ihm einen Ereignis-Listener hinzufügen und den Listener dazu veranlassen, eine Aktion auszuführen (z. B. den Hintergrund von "TextArea" rot zu drehen), wissen Sie, ob dieser ausgewählt ist oder nicht. Beantwortet das deine Frage? –

+0

Ich habe die Frage bearbeitet; Ich wollte fragen, ob ich einen Weg finden kann, den Knoten auszuwählen und ihn auf eine Variable zu setzen. – Vasting

Antwort

11

Tatsächlich muss keine fokussierte Knotenvariable festgelegt werden, da Scene bereits eine focusOwnerProperty enthält.

So könnten Sie es z.B. wie:

if (scene.focusOwnerProperty().get() instanceof TextArea) { 
     TextArea focusedTextArea = (TextArea) scene.focusOwnerProperty().get(); 
    } 
Verwandte Themen