title: JavaFX ComboBox set Items from ObservableList
body: <p>i need help to get a specified list of items from ObservableList and add them to a combo box.</p>
  
  <p>My ObservableList contains value received from DB (in specific a table with just 3 columns) and i want to show only one column value in combo box. When combo box is selected the other values are charged in 2 textfield.</p>
  
  <p>Code as follows.</p>
  
  <p>ImportAccettazioniModel:</p>
  
  <pre><code>public ObservableList&lt;Impostazioni&gt; listImpostazioni = FXCollections.observableArrayList();
  
  public static class Impostazioni {
      private final StringProperty rowid;
      private final StringProperty nome;
      private final StringProperty operatore;
      private final StringProperty delimitatore;
  
      private Impostazioni(String Rowid, String Nome, String Operatore, String Delimitatore) {
          this.rowid = new SimpleStringProperty(Rowid);
          this.nome = new SimpleStringProperty(Nome);
          this.operatore = new SimpleStringProperty(Operatore);
          this.delimitatore = new SimpleStringProperty(Delimitatore);
      }
  
      public StringProperty rowidProperty() { return rowid; }
      public StringProperty nomeProperty() { return nome; }
      public StringProperty operatoreProperty() { return operatore; }
      public StringProperty delimitatoreProperty() { return delimitatore; }
  }
  </code></pre>
  
  <p>ImportAccettazioniController:</p>
  
  <pre><code>@FXML
  private ComboBox&lt;ImportAccettazioniModel.Impostazioni&gt; comboCaricaNome;
  
  
  // get data from model to popupate combobox
  public final void getImpostazioniDataFields() {
      comboCaricaNome.getItems().clear();
      comboCaricaNome.setItems(model.listImpostazioni);
      comboCaricaNome.setCellFactory(new Callback&lt;ListView&lt;Impostazioni&gt;, ListCell&lt;Impostazioni&gt;&gt;() {
          @Override public ListCell&lt;Impostazioni&gt; call(ListView&lt;Impostazioni&gt; p) {
              return new ListCell&lt;Impostazioni&gt;() { 
                      @Override
                      protected void updateItem(Impostazioni t, boolean bln) {
                          super.updateItem(t, bln);
                          if(t != null){
                              setText(t.nomeProperty().toString().toUpperCase());
                              System.out.println("SET PROPERTY " + t.nomeProperty().toString());
                          } else {
                              setText(null);
                          }    
  
                      }                       
              };
          }
      });
  
  }
  
  
  comboCaricaNome.getSelectionModel().selectedItemProperty().addListener(new ChangeListener&lt;ImportAccettazioniModel.Impostazioni&gt;() {
          @Override public void changed(ObservableValue&lt;? extends ImportAccettazioniModel.Impostazioni&gt; observable,ImportAccettazioniModel.Impostazioni oldValue, ImportAccettazioniModel.Impostazioni newValue) {
              setTextFields(newValue);
          } 
  
      });
  
  //set data to textfield with the selected combo box
  private void setTextFields(Impostazioni listImpostazioni) {
      //setRowid(Impostazioni.rowidProperty().getValue());
      if (comboCaricaNome.getItems().isEmpty()) {
          editCaricaOperatore.setText("");
          editCaricaDelimitatore.setText("");
      } else {
          editCaricaOperatore.setText(listImpostazioni.operatoreProperty().getValue());
          editCaricaDelimitatore.setText(listImpostazioni.delimitatoreProperty().getValue());
      }   
  }
  </code></pre>
  
  <p>Now, the logic seems to work but my combo box doesn't contain the value nomeProperty().</p>
  
  <p>How can i solve?</p>
  
  <p>Thanks in advance</p>