我可以在FXML中设置BorderPane元素的宽度吗?

时间:2017-08-09 11:59:56

标签: java javafx fxml borderpane

好像我无法在<left> StackPane上设置任何属性。我想将它的宽度设置为200,例如。

<BorderPane fx:id="borderPane" fx:controller="main.Controller"
            xmlns:fx="http://javafx.com/fxml" prefHeight="600.0" prefWidth="800.0">

    <left prefWidth="200"> // This doesn't work
        <ListView fx:id="listView"/>
    </left>
    <right>
        <ImageView fx:id="staticImage"/>
    </right>

</BorderPane>

我知道我可以以编程方式执行此操作:

StackPane left = new StackPane();
left.setPrefWidth(200);
borderPane.setLeft(left);

但是出于我的项目的目的,我不能这样做。还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

您只需将直接发布的Java代码翻译为FXML:

<BorderPane fx:id="borderPane" fx:controller="main.Controller"
            xmlns:fx="http://javafx.com/fxml" prefHeight="600.0" prefWidth="800.0">

    <left>
        <StackPane prefWidth="200" />
    </left>
    <right>
        <ImageView fx:id="staticImage"/>
    </right>

</BorderPane>