0
在关注Node
时,在JavaFX中调用了什么Event
?如何处理JavaFX中的节点焦点
我有TextField
,它可以通过鼠标(setOnMouseClicked
)或其他Node
(这里我的问题来了)的TAB键来关注。
我该如何处理第二种焦点的可能性?有没有办法如何同时处理两个?
在关注Node
时,在JavaFX中调用了什么Event
?如何处理JavaFX中的节点焦点
我有TextField
,它可以通过鼠标(setOnMouseClicked
)或其他Node
(这里我的问题来了)的TAB键来关注。
我该如何处理第二种焦点的可能性?有没有办法如何同时处理两个?
你可以听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
“争论谁拥有焦点”。