通过场景生成器组合框项目?

2022-09-03 13:29:03
 <ComboBox fx:id="schaltung" layoutX="347.0" layoutY="50.0" prefHeight="63.0" prefWidth="213.0">
          <items>
                <FXCollections fx:factory="observableArrayList">
                    <String fx:id="reihe" fx:value="Reihenschaltung" />
                    <String fx:id="parallel" fx:value="Parallelschaltung" />
                </FXCollections>
            </items>
 </ComboBox>

我将其添加到我的FXML文件中,因为我无法确定在SceneBuilder中将项目添加到ComboBox的位置。是否可以通过 SceneBuilder 添加项目,还是必须手动添加项目?


答案 1

您无法通过 SceneBuilder 将项目添加到组合框。您可以像您一样通过FXML文件添加,也可以通过控制器添加,如下所示。

@Override
public void initialize(URL location, ResourceBundle resources) {
    comboBox.getItems().removeAll(comboBox.getItems());
    comboBox.getItems().addAll("Option A", "Option B", "Option C");
    comboBox.getSelectionModel().select("Option B");
}

答案 2

回应saikosen的评论:如果控制器实现,你可以使用:Initializable

@FXML
public void initialize() {
    comboBox.getItems().removeAll(comboBox.getItems());
    comboBox.getItems().addAll("Option A", "Option B", "Option C");
    comboBox.getSelectionModel().select("Option B");
}

推荐