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



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

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

我不知道如何获得容器间隙的大小,所以我唯一能想到的就是将面板添加到具有组布局的面板中,并在那里添加容器间隙。

对于BorderLayout使用:

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

编辑

但这并不能回答如何获得GroupLayout使用的间隙大小。。

看看GroupLayout.getLayoutStyle(),然后看看像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));

相关内容

  • 没有找到相关文章

最新更新