如何获取 GroupLayout 使用的容器间隙的大小?

How can I get the size of a container gap used by GroupLayout?

我有很多 JPanelGroupLayout,我使用 addContainerGap() 在边框上添加间隙。我还有一个带有其他布局的面板 (BorderLayout),我想在其容器中添加与组布局面板相同的间隙(我将通过空边框添加它)。

所以我的问题是,如何获得容器间隙的大小?还是使用其他方法更好?

我找不到如何获取容器间隙的大小,所以我唯一能想到的就是将面板添加到具有组布局的面板中,然后在其中添加容器间隙。

BorderLayout 使用:

  1. new BorderLayout(hgap,vgap) - 或以下两项的组合:
  2. BorderLayout.setHgap(int)
  3. BorderLayout.setVgap(int)

编辑

But this doesn't answer how to get the gap size used by GroupLayout..

查看 GroupLayout.getLayoutStyle() then methods like: LayoutStyle.getPreferredGap(JComponent,JComponent,LayoutStyle.ComponentPlacement,int,Container),当然请注意,首选间距可能因布局的组件而异。

例如,您可以使用下一个代码获取北边界的间隙大小:

LayoutStyle ls = gl.getLayoutStyle();

// Can be null if not already set.
if (ls == null) {
    // If not set, get the default style.
    ls = LayoutStyle.getInstance();
}

// What is the size of north gap if there is a JLabel?
System.out.format("North gap: %d", ls.getContainerGap(new JLabel(), SwingConstants.NORTH, null));