在 JavaFX 中禁用按钮

Posted

技术标签:

【中文标题】在 JavaFX 中禁用按钮【英文标题】:Disabling a Button in JavaFX 【发布时间】:2013-07-26 03:09:46 【问题描述】:

在 Swing 中,我们可以像这样禁用按钮:

JButton start = new JButton("Start");
start.setEnabled(false);

有没有办法用 JavaFX 按钮做到这一点? 用户应该只能按一次按钮。

【问题讨论】:

【参考方案1】:

当然。只有相关的属性具有相反的语义,称为disabled。这意味着您可以使用setDisable(不是setDisabled)和isDisabled。由于它是一个 JavaFX 属性,您还可以将侦听器附加到 disabledProperty

查看http://docs.oracle.com/javafx/2/api/javafx/scene/Node.html#setDisable(boolean) 上的 JavaFX 文档

代码

button.setDisable(false)

【讨论】:

有两个属性,它们是不同的:disabledisableddisable 是一个可写属性,您可以使用 setDisable(...) 设置它。 disabled 是一个只读属性,如果 disable 为真,或者场景图中的父节点disabled 为真,则该属性为真。 (因此设置disable 将禁用该节点及其所有子节点。)【参考方案2】:

如果你想禁用按钮,你有两个选择,你可以

Button.setDisable(true);

或者如果你愿意,你也可以让它不可见

Button.setVisible(false);

【讨论】:

以上是关于在 JavaFX 中禁用按钮的主要内容,如果未能解决你的问题,请参考以下文章