在 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)
【讨论】:
有两个属性,它们是不同的:disable
和disabled
。 disable
是一个可写属性,您可以使用 setDisable(...)
设置它。 disabled
是一个只读属性,如果 disable
为真,或者场景图中的父节点disabled
为真,则该属性为真。 (因此设置disable
将禁用该节点及其所有子节点。)【参考方案2】:
如果你想禁用按钮,你有两个选择,你可以
Button.setDisable(true);
或者如果你愿意,你也可以让它不可见
Button.setVisible(false);
【讨论】:
以上是关于在 JavaFX 中禁用按钮的主要内容,如果未能解决你的问题,请参考以下文章
如何在对话框中将事件侦听器绑定到JavaFX TextFields。当字段为空时,“确定”按钮将被禁用,反之亦然