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

Java 通过场景生成器创建组合框项目?,java,javafx,Java,Javafx,我将它添加到我的FXML文件中,因为我不知道在哪里可以将项目添加到SceneBuilder中的组合框中。是否可以通过SceneBuilder添加项目,或者我必须手动添加项目?您不能通过SceneBuilder将项目添加到组合框中。您可以像以前一样通过FXML文件添加,也可以像下面给出的那样通过控制器添加 <ComboBox fx:id="schaltung" layoutX="347.0" layoutY="50.0" prefHeight="63.0" prefWidth="213.0

我将它添加到我的FXML文件中,因为我不知道在哪里可以将项目添加到SceneBuilder中的组合框中。是否可以通过SceneBuilder添加项目,或者我必须手动添加项目?

您不能通过SceneBuilder将项目添加到组合框中。您可以像以前一样通过FXML文件添加,也可以像下面给出的那样通过控制器添加

 <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>
响应saikosen:如果控制器没有执行
可初始化
,您可以使用:

@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");
}

不,在SceneBuilder中没有这样做的机制。一般来说,在控制器中添加这些选项通常更有意义。此外,由于您似乎是从有限的选项集中进行选择,因此使用枚举可能是一个好主意。只有当
controller实现可初始化时(我将随时接管教程),我建议调用:comboBox.getItems().clear()而不是removeAll。
@FXML
public void initialize() {
    comboBox.getItems().removeAll(comboBox.getItems());
    comboBox.getItems().addAll("Option A", "Option B", "Option C");
    comboBox.getSelectionModel().select("Option B");
}