Значение по умолчанию для FXML ComboBox
Как установить значение по умолчанию в ComboBox
с помощью FXML?
<ComboBox fx:id="cbo_Bacteriologie_Aesculine" prefHeight="21.0" prefWidth="105.0" GridPane.columnIndex="1" GridPane.rowIndex="0">
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="NVT" />
<String fx:value="Bezig" />
<String fx:value="Positief" />
<String fx:value="Negatief" />
</FXCollections>
</items>
</ComboBox>
Я хочу, чтобы NVT
был выбран по умолчанию. Я попробовал добавить selected="selected"
и такой, но, похоже, не нашел правильного синтаксиса.
Можно ли редактировать перечисленные элементы с помощью Scene Builder? Кажется, я не могу найти его.
Ответы
Ответ 1
Используйте это:
<ComboBox>
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="NVT" />
<String fx:value="Bezig" />
<String fx:value="Positief" />
<String fx:value="Negatief" />
</FXCollections>
</items>
<value>
<String fx:value="NVT" />
</value>
</ComboBox>
Ответ 2
Я не думаю, что это возможно в FXML. Вам нужно будет сделать это при инициализации компонента в контроллере, например, используя следующую строку cbo_Bacteriologie_Aesculine.getSelectionModel().setSelectedIndex(1);
для выбора элемента Bezig.
Но если вы найдете способ сделать это в FXML, мне интересно.
EDIT: это возможно в FXML. Вы можете увидеть это в ответе Гуэдолино (fooobar.com/questions/325771/...), который должен стать правильным ответом на этот вопрос.
Ответ 3
У меня возникла странная ошибка с первым предложенным методом
setSelectedItem (T) имеет защищенный доступ в SelectionModel где T - переменная типа: T extends Объект, объявленный в классе SelectionModel
Для меня
getSelectionModel().select("NVT");
работал как шарм.