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

时间:2015-07-22 01:42:36

标签: java javafx javafx-8 fxml

我有以下.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中的错误显示“此处不允许使用属性VBox.vgrow”,Java应用程序提供的错误是“VBox.vgrow不是有效属性。”

1 个答案:

答案 0 :(得分:1)

我忽略了显示我.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>