首页 > 解决方案 > 在 JavaFX 中,是否可以在 TextField 的值未设置为零时启用 CheckBox

问题描述

CheckBox当我输入TextField一个非零的值时,如何启用我的?

默认情况下,我CheckBox在 Scene Builder 中将 my 设置为禁用。

在我的MainController课堂上:

@FXML
private CheckBox cb1;

@FXML
private TextField txt1;

public void enableCB() {
    if (txt1.getText() == "0") {
        cb1.setDisable(true);
    } else {
        cb1.setDisable(false);
    }
}

在 Scene Builder 中,我将“enableCb 方法”设置为 On ActionOn Key Typed,但它仍然没有提供正确的条件和输出。

标签: javajavafxscenebuilder

解决方案


这可以通过一个相当简单的单语句绑定来完成:

cb1.disableProperty().bind(
                txt1.textProperty().isEmpty()
                         .or(txt1.textProperty().isEqualTo("0")));

CheckBox当在TextField. 因此,如果文本为空或“0”,它将被禁用。


推荐阅读