2017-08-08 32 views
0

我有這個大的BooleanBinding。JavaFX Combox何時被選中屬性

BooleanBinding uncompleteBinding = txtBarcode.textProperty().isEmpty() 
          .or(txtNombre.textProperty().isEmpty() 
          .or(txtPrecioContado.textProperty().isEmpty()) 
          .or(txtPrecioCredito.textProperty().isEmpty()) 
          .or(txtModelo.textProperty().isEmpty() 
          .or(txtSerie.textProperty().isEmpty() 

          .or(cboCategoria.selectionModelProperty().isNull() 
)))); 

BooleanBinding的purpouse是啓用保存按鈕。它工作正常,直到我將Combobox添加到組合中。它似乎沒有那樣工作。我嘗試了isNotNull()和itemsProperty()。

由defaul't Combobox顯示一個「 - 」,沒有被選中。需要用戶選擇一些東西,並且沒有允許默認的選定值。

+0

請提供演示 – kleopatra

回答

1

使用value屬性檢查在ComboBox中選擇的值,並使用"-"作爲提示文本。

例子:

ComboBox<String> cb = new ComboBox<>(); 
cb.getItems().setAll("A", "B", "C"); 
cb.setPromptText("-"); 

Button btn = new Button("Submit"); 
btn.disableProperty().bind(cb.valueProperty().isNull()); 
+0

沒有知道valueProperty的問題SSCCE。但在我的情況下,我需要使用cboCategoria.valueProperty()。isNotNull()。not()。現在它可以工作。 –

0

嘗試這種想法:

comboBox.getSelectionModel().selectedIndexProperty().isEqualTo(0); 

在您的 「 - 」 位於下0指數。