在 JavaFX 8 的 <fx:root> 的子元素上设置 VBox.vgrow

Setting VBox.vgrow on a child element of <fx:root> in JavaFX 8

我有以下 .fxml 文件:

<fx:root type="javafx.scene.layout.VBox" xmlns:fx="javafx.com/fxml">
    <Pane VBox.vgrow="ALWAYS">
        <!-- ... -->
    </Pane>
</fx:root>

但是,VBox.vgrow="ALWAYS" 处出现错误,因为 <fx:root ... 不完全是 VBox。我如何在 FXML 中执行此操作(没有 Java)?


编辑: 我的 IDE 中的错误显示 "Attribute VBox.vgrow is not allowed here",而 Java 应用程序给出的错误是 "VBox.vgrow is not a valid attribute."

我忘记显示我导入的所有 .fxml 文件(只有 javafx.scene.layout.Pane)。

为了使特定的 .fxml 文件不出错(见编辑),还必须添加导入 javafx.scene.layout.VBox,因为 VBox.* 不能用于 任何 元素,除非 VBox 被导入。

正确的 .fxml 文件是:

<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<fx:root type="javafx.scene.layout.VBox" xmlns:fx="javafx.com/fxml">
    <Pane VBox.vgrow="ALWAYS">
        <!-- ... -->
    </Pane>
</fx:root>