Значение по умолчанию для FXML ComboBox - программирование
Подтвердить что ты не робот

Значение по умолчанию для 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? Кажется, я не могу найти его.

4b9b3361

Ответ 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");

работал как шарм.