组合框 FXML 默认值

2022-09-02 11:15:38

如何在使用FXML中设置默认值?ComboBox

<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>

我希望默认被选中。我尝试添加等,但似乎没有找到正确的语法。NVTselected="selected"

是否可以使用场景生成器编辑列出的项目?我似乎找不到它。


答案 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中是不可能的。您需要在组件的初始化中(在控制器中)执行此操作,例如使用以下行来选择元素Bezig。cbo_Bacteriologie_Aesculine.getSelectionModel().setSelectedIndex(1);

但是,如果你找到一种方法在FXML中做到这一点,我很感兴趣。

编辑:在FXML中是可能的。你可以在Guedoliono的答案(https://stackoverflow.com/a/14436371/1344424)中看到它,这应该成为这个问题的正确答案。


推荐