Combobox 组合框的TextField.textProperty()等效于什么?

Combobox 组合框的TextField.textProperty()等效于什么?,combobox,javafx,javafx-2,textfield,Combobox,Javafx,Javafx 2,Textfield,我的代码中有一个文本字段和一个组合框。当两个控件中都有值时,我需要使按钮可用。我的代码是- addSubName = new TextField(); addSubName.setPromptText("Staff Name"); addSubName.setPrefSize(200, 30); comboBox1 = new ComboBox(); comboBox1.setPromptText("Choose Subject"); combo

我的代码中有一个文本字段和一个组合框。当两个控件中都有值时,我需要使按钮可用。我的代码是-

    addSubName = new TextField();
    addSubName.setPromptText("Staff Name");
    addSubName.setPrefSize(200, 30);

    comboBox1 = new ComboBox();
    comboBox1.setPromptText("Choose Subject");
    comboBox1.setPrefSize(280, 30);

    BooleanBinding bb = new BooleanBinding() {
    {
        super.bind(addSubName.textProperty());
    }

    @Override
    protected boolean computeValue() {
      return (addSubName.getText().isEmpty());
      }
    };

    final Button b2 = new Button("Add");
    b2.setFont(Font.font("Calibri", FontWeight.BOLD, 17));
    b2.setPrefSize(70, 30);
    b2.setStyle(" -fx-base: #0066ff;");
    b2.setTextFill(Color.BLACK);
    b2.disableProperty().bind(bb);

正如您所看到的,我知道如何检查TextField是否为空,从而禁用按钮。我也需要勾选组合框。那么,组合框的“textProperty()”和“getText().isEmpty()”的等价物是什么呢?

组合框的

您可以在此处使用绑定API:

b2.disableProperty().bind(bb.or(Bindings.isNull(comboBox1.valueProperty())));
(在JavaFX8中,您也可以对文本使用绑定API:

BooleanBinding bb = Bindings.isEmpty(addSubName.textProperty());
)

在b2.disableProperty().bind(bb.or(Bindings.isNull(comboBox1.valueProperty()))中;绑定显示为错误。