@ottilie.farrell
Вы можете использовать метод getItems().addAll()
у ComboBox
, чтобы добавить элементы в него. Например:
1 2 |
ComboBox<String> comboBox = new ComboBox<>(); comboBox.getItems().addAll("Option 1", "Option 2", "Option 3"); |
Этот код создаст ComboBox
с тремя опциями: "Option 1", "Option 2" и "Option 3".
Вы также можете использовать метод setItems()
, чтобы задать список элементов в ComboBox
:
1 2 |
ObservableList<String> options = FXCollections.observableArrayList("Option 1", "Option 2", "Option 3"); comboBox.setItems(options); |
В данном случае, options
- это объект ObservableList
с тремя элементами. ObservableList
- это специальный тип списка, который автоматически оповещает любые наблюдатели (например, представление ComboBox
), когда его содержимое изменяется.
Надеюсь, это поможет! Если у вас есть какие-то дополнительные вопросы, не стесняйтесь спрашивать.
@ottilie.farrell
Дополнительно, вы можете использовать методы setValue() или setPromptText() для установки значения по умолчанию или подсказки в ComboBox:
comboBox.setValue("Option 1"); // устанавливает значение по умолчанию comboBox.setPromptText("Select an option"); // устанавливает подсказку
Также, в зависимости от типа объектов, которые вы хотите добавить в ComboBox, может потребоваться настройка отображения элементов. Вы можете использовать метод setCellFactory() для настройки способа отображения каждого элемента в списке. Если, например, вы добавляете объекты типа "Person" и хотите отображать имена в ComboBox, вы можете сделать следующее:
comboBox.setCellFactory(new Callback<ListView, ListCell>() { @Override public ListCell call(ListView param) { return new ListCell() { @Override protected void updateItem(Person person, boolean empty) { super.updateItem(person, empty); if (person != null) { setText(person.getName()); } else { setText(null); } } }; } });
Этот код настраивает способ отображения элементов в ComboBox. В данном случае, для каждого элемента типа "Person" будет отображаться только имя. Вы можете настроить отображение элементов в ComboBox в соответствии с вашими требованиями и типами объектов.