2016-01-21 5 views
1

У меня есть ChoiceBox в моем приложении JavaFx с именем choiceBoxPizza.ChoiceBox не устанавливает ObservableList в JavaFX

В моем контроллере я объявляю его:

@FXML 
private ChoiceBox choiceBoxPizza; 

Моя функция, которая содержит несколько тестовых данных:

private void fillChoiceBoxPizza(){ 
    try { 
     List<String> list = new ArrayList<String>(); 
     list.add("Pizza A"); 
     list.add("Pizza B"); 
     list.add("Pizza C"); 
     ObservableList obList = FXCollections.observableList(list); 
     choiceBoxPizza = new ChoiceBox<>(obList); 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     System.out.println(e.toString()); 
    } 

} 

Так должны быть заполнены с list. Странно, что я не получаю никакого исключения, а choiceBox - после того, как вызов метода все еще пуст.

Есть ли ошибка в моей логике?

ответ

3

Заменить строку:

choiceBoxPizza = new ChoiceBox<>(obList); 

с этим, он должен работать:

choiceBoxPizza.setItems(obList) 

Вы не должны инициализировать элемент уже объявленную в файле .fxml. Here - более подробное объяснение того, как работает процесс инициализации в JavaFX.

Надеюсь, что это поможет

Смежные вопросы