JavaFX 相对于 Swing setFocusable(true/false)?
JavaFX relative to Swing setFocusable(true/false)?
我正在尝试找到一些方法来在 JavaFX 中制作一个 UI 控制 unfocusabe:
是否有类似于 Swing 的东西,或者我是否必须重写某些方法?
更新:
我想让控件完全不可聚焦并且不将焦点转移到另一个 Node
。
您可以做的是:
node.setFocusTraversable(false);
在 Node
上,基本上每个控件都继承了 focusProperty()
。您可以将某些东西绑定到那个 属性 或添加一个 ChangeListener 来检测焦点何时丢失:
focusedProperty().addListener((observalbe, oldFocusedState, newFocusedState) -> {
System.out.println("Control changed focused state from "+oldFocusedState+"->"+newFocusedState);
});
也许你想要的是 editable
属性
@see TextField#setEditable!
我已经回答了这个问题。请检查一下。
这将向您展示如何永远移除节点上的焦点,移除它一段时间,或者使节点不可遍历。
Is there a way to take away focus in javafx?
我正在尝试找到一些方法来在 JavaFX 中制作一个 UI 控制 unfocusabe:
是否有类似于 Swing 的东西,或者我是否必须重写某些方法?
更新:
我想让控件完全不可聚焦并且不将焦点转移到另一个 Node
。
您可以做的是:
node.setFocusTraversable(false);
在 Node
上,基本上每个控件都继承了 focusProperty()
。您可以将某些东西绑定到那个 属性 或添加一个 ChangeListener 来检测焦点何时丢失:
focusedProperty().addListener((observalbe, oldFocusedState, newFocusedState) -> {
System.out.println("Control changed focused state from "+oldFocusedState+"->"+newFocusedState);
});
也许你想要的是 editable
属性
@see TextField#setEditable!
我已经回答了这个问题。请检查一下。
这将向您展示如何永远移除节点上的焦点,移除它一段时间,或者使节点不可遍历。
Is there a way to take away focus in javafx?