I have a simple fxml with a textfield and a button. I\'d like to have the button disabled if the textfield is empty. So I insert something like the following in my controlle
In addition to martin_dk answer, if you want to bind more than two properties you will get code like below, looks weird, but it works.
BooleanBinding booleanBinding
= finalEditor.selectedProperty().or(
staticEditor.selectedProperty().or(
syncEditor.selectedProperty().or(
nativeEditor.selectedProperty().or(
strictEditor.selectedProperty()))));
abstractEditor.disableProperty ().bind(booleanBinding);
This is possible by binding to a boolean expression via Bindings
:
button.disableProperty().bind(
Bindings.and(
textField.textProperty().isEqualTo(""),
textField2.textProperty().isEqualTo("")));
In addition to Andreys approach, I found that you can also do it like this:
BooleanBinding booleanBinding =
textField.textProperty().isEqualTo("").or(
textField2.textProperty().isEqualTo(""));
button.disableProperty().bind(booleanBinding);