javafx - 根据布尔值绑定按钮

Posted

技术标签:

【中文标题】javafx - 根据布尔值绑定按钮【英文标题】:javafx - Bind button according to boolean value 【发布时间】:2018-01-17 14:26:49 【问题描述】:

这里,我想根据布尔值来禁用和启用按钮。

boolean result=(txtItem.getText().isEmpty() && txtQty.getText().isEmpty());

btnOrder.disableProperty().bind(xxxxx);

我应该在那里输入什么??

【问题讨论】:

你能提供更多细节吗?当result 计算的值变为真时,您希望禁用btnOrder?是 txtItemtxtQty 文本字段,还是类似的? 【参考方案1】:

如果我明白你在问什么(特别是假设 txtItemtxtQty 是某种 TextInputControl),你可以这样做

btnOrder.disableProperty().bind(Bindings.createBooleanBinding(
    () -> txtItem.getText().isEmpty() && txtQty.getText().isEmpty(),
    txtItem.textProperty(), txtQty.textProperty()));

btnOrder.disableProperty().bind(
    Bindings.length(txtItem.textProperty()).isEqualTo(0)
    .and(Bindings.length(txtQty.textProperty()).isEqualTo(0)));

【讨论】:

如果我想检查值.. 假设 txtItem 的值小于 txtQty 的值,那么按钮必须启用 @kasun 只需将该条件包含在第一个版本的评估函数中即可。 (如果您要将文本转换为数值,那么我认为没有等效的第二个版本可以工作。)

以上是关于javafx - 根据布尔值绑定按钮的主要内容,如果未能解决你的问题,请参考以下文章

单选按钮的 knockout.js 布尔数据绑定问题

如何根据布尔值 (SwiftUI) 更改对象的绑定源?

mvc 绑定/发布布尔到单选按钮

WPF:多重绑定不使用 OnPropertyChanged 更新?

WPF Radiobutton(二)(绑定到布尔值)

根据布尔值更改按钮图像