通过Scene Builder的ComboBox项目?

yem*_*rra 10 java javafx

 <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>
Run Code Online (Sandbox Code Playgroud)

我把它添加到我的FXML文件中,因为我无法弄清楚我可以在SceneBuilder中将项目添加到我的ComboBox.是否可以通过SceneBuilder添加项目,还是必须手动执行?

小智 12

您无法通过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");
}
Run Code Online (Sandbox Code Playgroud)

  • 我有一天会在讲解中继续学习) (2认同)

c0d*_*der 5

回应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");
}
Run Code Online (Sandbox Code Playgroud)