当前位置: 首页 > 知识库问答 >
问题:

JavaFX一般化GridPane列约束

子车超英
2023-03-14

有没有办法将列约束应用于我的所有网格窗格列。我有各种 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());
        }
    }
}

共有1个答案

陶星波
2023-03-14

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

 类似资料:
  • 目前,我已将数字按特定顺序排列。我怎么能把这个随机化呢?例如,每次单击按钮时,我希望每个按钮都更改按钮的所有位置。问题是GridPane可以将节点堆叠在一个地方,使得按钮相互隐藏。有没有办法设置节点不能堆栈? 另一方面,我从一个帖子中找到了一个方法,有人想要切换两个按钮的位置。代码如下所示: 我尝试创建一个包含节点的arraylist,然后使用Math.random从arraylist中获取一个随

  • 我正在尝试使用两列创建一个具有特定布局的窗口,但我不能完全按照我想要的方式工作。 首先,一些简化的示例代码: 以下是我想要的: 微调器和按钮应使用所有可用宽度 我试着使用各种各样的限制,但我无法让一切都正常工作。我认为我发现的主要问题是,在让微调器使用可用宽度后,它们在缩小窗口时拒绝收缩。 我正在Linux中使用Oracle JDK 1.8.0\u 60。

  • 主要内容:示例,示例2GridPane通常用于布局:第一列上的只读标签的输入表单和第二列上的输入字段。 GridPane可以在行,列或单元格级别指定约束。 例如,我们可以设置包含输入文本字段的第二列,以在窗口调整大小时调整大小。 示例 以下代码演示使用GridPane布局的简单表单应用程序。它有以下布局。 完整的代码实现如下所示 - 上面的代码生成以下结果。 示例2 以下是一个实现登录窗口的代码 - 上面的代码生成以下

  • 嗨,我目前正在玩JavaFX中的GridPane,偶然发现了一个问题...我想创建一个包含三行的布局,其中中间一行增长并占用所有可用空间,但我就是无法让它工作。中间行变得太大,并将窗口下方的底部行“推”到不再可见的位置...我如何使底部行始终在底部,让中间行占用中间的可用空间,但不能再这样了...我将在下面粘贴我的代码。 谢啦! (注意:为清晰起见,代码略有改动,但工作方式相同) 更新!添加“最小

  • 问题:我混淆了vbox和gridpane。。通常,当您可以使用vbox时,您也可以使用包含1列和n行的gridPane,因此我不确定何时使用每一列和它们之间的差异。 事实: > 我知道网格窗格有n行和n列。 我知道vbox只会垂直列出组件。(n行1列) 困惑:当我想垂直列出40-50个(水平框或其他组件)时,我不知道应该选择哪一个,因为有时我会看到人们将这些组件作为子组件添加到vbox中,而其他人

  • 我已经在我的游戏中实现了拖放功能,但到目前为止,我只能“拖放”到硬编码的位置。如图所示: 我想要的是: 当船舶被丢弃时,它的x、y值(相对于GridPane)被保存,或者 飞船掉落到的细胞被保存。 我的setOnDragDropped事件在此处处理: 我觉得这应该是一个简单的鼠标悬停事件或类似的事情,但我不知道该怎么做。 编辑:下面类的完整代码: }