Недопустимый атрибут FXML scene builder после заполнения ComboBox

у меня есть этот файл FXML, где я пытался заполнить ComboBox:

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="650.0" minWidth="750.0" prefHeight="700.0" prefWidth="822.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="table.Table">
   <children>
    <MenuButton fx:id="dateFilter" layoutX="6.0" layoutY="55.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="114.0" text="Date" />
    <ComboBox fx:id="descriptionFilter" editable="true" layoutX="226.0" layoutY="55.0" prefHeight="25.0" prefWidth="204.0" promptText="Series Description">
        <items>
            <FXCollections fx:factory="observableArrayList">
                <String fx:value="1" />
                <String fx:value="20" />
                <String fx:value="300" />
            </FXCollections>
        </items>
    </ComboBox>
  </children>
</AnchorPane>

но поскольку я его заполнил, он не откроется на SceneBuilder, и он отображает эту ошибку:

java.io.IOException: javafx.fxml.LoadException: Invalid attribute.
/C:/Users/BTAP/workspace/Tst/src/table/table.fxml:12

и он не будет загружать мое приложение:

Caused by: javafx.fxml.LoadException: FXCollections is not a valid type.

Примечание

если я удалить fx:factory="observableArrayList" он загружается на построитель сцены и показывает предупреждение, но все равно не будет запускать мой программа.

и я не совсем понимаю, так как это так же, как я видел во многих примерах пример1, Пример 2, example3.

Почему я получаю эту ошибку? Разве это не должно сработать?

Я знаю, как заполнить элементы кодом, но я ищу решение FXML.

1 ответов


вам нужен импорт для FXCollections класс:

<?import javafx.collections.FXCollections ?>