Вы не добавляете ComboBox
из вашего FXML
в ваш Controller
.Вместо этого вы создаете совершенно новый ComboBox
(который не отображается на вашей сцене).
Вы должны удалить эту строку:
public ComboBox comboBox = new ComboBox(options);
и заменить ее следующим:
@FXML
private ComboBox comboBox;
Тогда это всего лишь вопрос настройки элементов для выпадающего списка:
comboBox.setItems(options);
Почему? Аннотация @FXML
сообщает JavaFX, чтоComboBox
, на которую вы ссылаетесь в следующей строке, было определено в вашем файле FXML
.Это позволяет JavaFX «внедрить» этот объект в ваш контроллер.
Side Примечание: Как правило, не рекомендуется использовать ваш основной класс в качестве класса контроллера (я рекомендую создать отдельный класс контроллера для вашего FXML).Ваш класс контроллера должен также включать метод private void initialize()
(аннотированный @FXML
).Здесь вы можете установить параметры для элементов управления вашей сцены.Большинство вводных руководств по JavaFX проведут вас через этот процесс.