2016-06-12 26 views
7

我在場景中有很多TextArea節點。我如何知道哪個節點專注於JavaFX?

我能否找出哪個TextArea被選中(插入其中)?
我希望能夠選擇節點並將其設置爲Node變量。

+0

添加一個收聽器 –

+0

當您選擇一個'TextArea'時,JVM會註冊它。如果你添加一個事件監聽器,並讓監聽器執行一個動作(比如將'TextArea'的背景變成紅色),那麼你就知道它是否被選中。這回答了你的問題了嗎? –

+0

我編輯了這個問題;我的意思是問我是否可以找到一種方法來選擇節點並將其設置爲變量。 – Vasting

回答

11

其實沒有必要設置一個重點節點變量,因爲Scene已經包含一個focusOwnerProperty

所以你可以使用它,例如如:

if (scene.focusOwnerProperty().get() instanceof TextArea) { 
     TextArea focusedTextArea = (TextArea) scene.focusOwnerProperty().get(); 
    } 
相關問題