Minha interface tem dois campos de entrada: uma caixa de combinação para selecionar Country
e uma caixa de seleção.
public class Country {
private String name;
public String getName() {
return name;
}
}
Quero apenas habilitar a caixa de seleção, caso um valor específico seja selecionado na caixa de combinação (por exemplo Germany
).
BooleanBinding noCountryBinding = Binding.isNull(cmbCountry.valueProperty());
BooleanBinding isGermanyBinding = Binding.equal(cmbCountry.getSelectionModel().selectedProperty().get().getName(), "Germany"); // <- This does not work, what can I do instead?
cbxFreeShipping.disableProperty().bind(Bindings.or(noCountryBinding, Bindings.not(isGermanyBinding));
A primeira ligação por si só funciona bem, mas não consigo descobrir como fazer a segunda ligação depender de uma propriedade String dos itens do combobox. Tentei uma abordagem diferente implementando um listener no combobox, mas é claro que ele só dispara quando o item selecionado muda.