在 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>
我有以下 .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>