JavaFX中的Node.setDisable()与setDisabled()

JavaFX中的Node.setDisable()与setDisabled(),java,javafx,Java,Javafx,从javafx.scene.Node继承时,有两种方法可供调用:(我正在展示当前的8u66 Oracle实现) setDisable(布尔值) setDisabled(布尔值) 从javafx.scene.Node继承时应该调用哪一个 您想使用setDisable,而不是setDisabled设置禁用是一个 public禁用节点的方法,setDisabled是受保护的 方法仅由内部实现使用 由用户引用。这取决于上下文,但您几乎肯定要调用setDisable(…) 在JavaFX中,如果节点的di

javafx.scene.Node
继承时,有两种方法可供调用:(我正在展示当前的8u66 Oracle实现)

setDisable(布尔值)

setDisabled(布尔值)

javafx.scene.Node
继承时应该调用哪一个

您想使用
setDisable
,而不是
setDisabled
<代码>设置禁用是一个
public
禁用节点的方法,
setDisabled
是受保护的

方法仅由内部实现使用


由用户引用。

这取决于上下文,但您几乎肯定要调用
setDisable(…)

在JavaFX中,如果节点的
disable
属性为
true
,或者场景图中的任何祖先的
disable
属性为true,则节点渲染为禁用,并忽略任何用户输入。
disabled
属性是节点客户端的只读属性,它反映了这种总体状态:即
disabled
为true,当且仅当该节点或其任何祖先(容器)节点的
disabled
为true时

因此,要禁用节点,通常应调用
setDisable(true)。在
节点
的自定义子类中,您应该只调用
setDisabled(true)
以强制执行上述规则。请注意,超类实现将已经强制执行此规则,因此,除非您正在执行非常复杂的操作(我甚至无法真正看到用例),否则您将不需要调用
setDisabled(…)

public final void setDisable(boolean value) {
    disableProperty().set(value);
}
protected final void setDisabled(boolean value) {
    disabledPropertyImpl().set(value);
}