如何在JavaFX中处理节点焦点

时间:2016-03-08 09:05:14

标签: javafx focus

Event聚焦时,在JavaFX中调用Node是什么?

我有TextField,可以通过鼠标(setOnMouseClicked)或来自其他Node的TAB键进行聚焦(此处我的问题就出现了)。

如何处理第二种焦点可能性?有没有办法如何同时处理这两个?

1 个答案:

答案 0 :(得分:1)

您可以收听focused property

TextField tf = new TextField();
TextField tf2 = new TextField();

tf.focusedProperty().addListener((observable, oldValue, newValue) -> {
    if (newValue) {
        System.out.println("Node 1: Mine!");
    }
});
tf2.focusedProperty().addListener((observable, oldValue, newValue) -> {
    if (newValue) {
         System.out.println("Node 2: Mine!");
    }
});

Scene scene = new Scene(new VBox(tf, tf2), 300, 250);

如果你改变焦点,你可以观察2 TextField"争论谁得到了焦点"。