【问题标题】:JavaFX Generalize GridPane Column ConstraintsJavaFX 泛化 GridPane 列约束
【发布时间】:2012-10-19 15:09:00
【问题描述】:

是否有任何方法可以将列约束应用于我的所有 GridPanes 列。 我有各种 GridPane 控件,我希望它们共享以下列约束:

<ColumnConstraints hgrow="SOMETIMES" maxWidth="388.0" minWidth="74.0" prefWidth="74.0" />

可以用css来做吗?

编辑

我最终做了这样的事情。但它不起作用(我的列宽被调整到 74 以下),有什么线索吗?

public static void resizeColumns(Pane parent){
        for (Node component : parent.getChildren()) {
            if (component instanceof GridPane) {
                GridPane gridPane = (GridPane) component;
                ObservableList<ColumnConstraints> columnConstraints = gridPane.getColumnConstraints();
                for (ColumnConstraints column : columnConstraints) {
                    column.setMinWidth(74.0);
                }
        } else if (component instanceof Pane) {
            resizeColumns((Pane) component);
        } else if (component instanceof ScrollPane) {
            resizeColumns((Pane) ((ScrollPane) component).getContent());
        }
    }
}

【问题讨论】:

    标签: java javafx-2 javafx


    【解决方案1】:

    在您的 java 控制器代码中,遍历列并设置您需要的任何值。

    【讨论】:

    • 如何循环控制场景?我尝试使用 getChildrenUnmodifiable() 但它只返回第一级儿童
    • 这样不行吗?如果您在网格窗格中有其他容器,那么这些容器应该以自己的方式处理自己的布局。例如,即使在 GridPane 中,VBox 也应该像 VBox 一样工作。
    猜你喜欢
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    相关资源
    最近更新 更多