javafx布局之gridpane

刚刚测试了gridpane这个布局管理器,因为它和xaml的grid布局控件很相似,xaml布局中我用的最多的就是grid了,所以首先搞懂javafx的gridpane

主要关注的就是girdpane的自动拓展尺寸的功能,我需要的是一个可以自动扩展尺寸的gridpane,就像grid那样,但是默认情况下,gridpane并不支持拓展空间,不信可以试试

API上查找了一下,发现了这样一段话

By default the gridpane will resize rows/columns to their preferred sizes (either computed from content or fixed), even if the gridpane is resized larger than its preferred size. If an application needs a particular row or column to grow if there is extra space, it may set its grow priority on the RowConstraints or ColumnConstraints object.

翻译过来

默认gridpane将调整行/列首选大小(根据内容计算或固定尺寸),即使gridpane大小大于它的首选大小(它也不会自动调整大小,我加上的)。如果一个应用程序需要一个特定的行或列成长如果有多余的空间,它可以设置优先增长RowConstraints或ColumnConstraints对象。例如:

 

GridPane gridpane = new GridPane();

ColumnConstraints column1 = new ColumnConstraints(100,100,Double.MAX_VALUE);

column1.setHgrow(Priority.ALWAYS);

好吧,说到这里应该很到位了,但是在javafx的fxml中如何设定呢?下面就是解决方法,其实很简单

<GridPane vgap="1" hgap="1"     id="AnchorPane" prefHeight="2000" prefWidth="500" styleClass="mainFxmlClass" xmlns:fx="http://javafx.com/fxml/1" fx:controller="Frame2XML.Frame2Controller">
    <stylesheets>
        <URL value="@frame2.css"/>
    </stylesheets>
       
        <TableView GridPane.hgrow="ALWAYS" >
            <columns>
                <TableColumn text="路径" />
                <TableColumn text="路径" />
                <TableColumn text="路径" />
            </columns>
        </TableView>
</GridPane>

这样,tableview就可以随着界面尺寸变化而变化了,怎么样,是不是很强大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值