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

如何在JavaFX GridPane的列之间设置填充?

谷梁昊空
2023-03-14

我试图在javaFx程序中显示一个2列网格。这就是我设置网格的方式:

    GridPane grid = new GridPane();

    ColumnConstraints column1 = new ColumnConstraints();
    column1.setPercentWidth(50);
    ColumnConstraints column2 = new ColumnConstraints();
    column2.setPercentWidth(50);
    grid.getColumnConstraints().addAll(column1, column2); 

问题是。我想展示一个小空间,在一列结束和另一列开始之间。然而,这些柱子却像胶水一样粘在一起。

以下是一个截图:

这里每一列都包含项目名称和处理、编辑、删除按钮。

你可以看到柱子是如何粘在一起的。我希望它们之间有一些空间。

我该怎么解决这个问题?

我的整个UI的层次结构如下:

场景

共有2个答案

赫连正初
2023-03-14

除了assylias的答案之外,您还可以为网格中的任何给定节点配置边距:

GridPane.setMargin(node, new Insets(5, 10, 5, 10));

网格窗格。setMargin javadoc:

设置包含在gridpane中的子项的边距。如果设置了,gridpane将在其周围放置空白空间。将该值设置为null将删除该约束。

最终(在Java 8之后),JavaFX可能允许您在任何节点周围设置边距,而不仅仅是网格窗格中的节点。

白成济
2023-03-14

为了更好的外观,您可以使用混合:

grid.setHgap(10); //horizontal gap in pixels => that's what you are asking for
grid.setVgap(10); //vertical gap in pixels
grid.setPadding(new Insets(10, 10, 10, 10)); //margins around the whole grid
                                             //(top/right/bottom/left)
 类似资料:
  • 问题内容: 我有这段代码。解释: 用户输入“ initcores”数据和“ ttime”数据(结果为“ fcores”)。 我想用从0到ttime的值填充x数组,并从initcores到fcores填充y并做散点图,x vs y。 我有一个问题: 如果我输入“ for(double t = 0; t <= fcores; t = t + fcores / 10.0){y.add(t);“ 它给了我

  • 我有一个以编程方式创建的created TableLayout,它的宽度设置为match_parent。我正在为它添加一个表,每个表有5列。我将列1、2、4和5都设置为静态宽度。如何设置第3列以填充表中的可用空间,从而使5列的宽度为100%?(将TableRow宽度设置为match_parent不执行此操作)

  • 片段集recyclerView列号: 在此布局内容回收视图: 此处RecyclerView中得项目布局: 在左右两侧设置20dp 在2列之间设置10个dp

  • 问题内容: 我的问题是,例如,当我创建一个表时:以下几列: 哪里是用。 然后以列为例: 凡是与外键是从。 应该是说我已经建立的关系和使用。 这两个表最初都是空的,因此我编写了以下SQL命令: 这很好用,但是当我尝试插入子表()时,它告诉我: 错误外键约束 所以基本上我想要做的是插入到父表,然后到子表,以便显示出来的(子表)的外键,相当于用在(父表)。 我必须先创建两个表,而无需使用外键,然后再尝试

  • 问题内容: 我有这样的代码: 这样,我得到的元素之间没有距离。我的意思是,“顶部”元素总是触及“底部”元素。我该如何更改?我想在元素之间进行一些分离吗? 我考虑在元素之间添加一些“中间” JPanel(具有一定大小)。但是我认为这不是获得理想效果的一种优雅方法。有人可以帮我吗? 问题答案: 将是这样做的一种方式。

  • 我试图在javaFX程序中显示一个4列网格。这就是我设置网格的方式。 我已将标签和文本字段分别放在列 1,3 和列 2,4 中。问题是文本字段和下一个标签之间存在间隙,因此减少了第二个文本字段的宽度。 我该如何解决这个问题?