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()))中;绑定显示为错误。