Javafx如何触发舞台布局更新

问题描述 投票:3回答:1

我有一个非常简单的Javafx应用程序,它显示由网格支持的表单。在此表格上,我有一个复选框。当用户选中此复选框时,我想向网格动态添加另一行。

从我的控制器:

checkbox.selectedProperty().addListener((obs, oldVal, newVal) - > {
    if (!newVal) {
        // Add Username Label
        gridPane.add(new Label("Username : "), 0, 5);

        // Add Username Text Field
        gridPane.add(new TextField(), 1, 5);
    }
});

上面的代码工作得很好,唯一的问题是窗口布局不会更新以显示新行(我的意思是高度不会自动增加),除非我手动调整窗口大小。

问题如何触发布局更新? (我尝试过gridPane.requestLayout(),但没有效果)

java javafx javafx-8
1个回答
0
投票

我相信您可以在舞台上使用.setWidth和.setHeight,然后进行更新。

https://www.programcreek.com/java-api-examples/?class=javafx.stage.Stage&method=setWidth

© www.soinside.com 2019 - 2024. All rights reserved.