组合框FXML默认值(ComboBox FXML default value)

2019-07-30 15:35发布

如何设置一个默认值, 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"等,但似乎还没有找到合适的语法。

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

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


Answer 2:

我不认为这是可能的FXML。 您需要使用下面的行来做到这一点在元件的初始化,在控制器中,例如cbo_Bacteriologie_Aesculine.getSelectionModel().setSelectedIndex(1); 用于选择元件Bezig。

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

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



Answer 3:

我买了第一建议的方法奇怪的错误

setSelectedItem(T)已在保护selectionModel的访问,其中T是一种类型的变量:T延伸selectionModel的类对象声明

为了我

getSelectionModel().select("NVT");

工作就像一个魅力。



文章来源: ComboBox FXML default value