我试图找到某种方法来使javaFX中的UI控件失去焦点:

是否有类似于Swing的东西,或者我必须重写某些方法?

更新:

我想使控件根本不能聚焦,也不要将焦点更改为其他节点。

您可以做的是:

  node.setFocusTraversable(false);

最佳答案

Node上,基本上每个控件都继承focusProperty()。您可以将某些东西绑定到该属性,或者添加一个ChangeListener来检测何时失去焦点:

focusedProperty().addListener((observalbe, oldFocusedState, newFocusedState) -> {
  System.out.println("Control changed focused state from "+oldFocusedState+"->"+newFocusedState);
});

09-29 20:59