我有许多JPanel
和GroupLayout
,我使用addContainerGap()
来添加边界上的间隙。此外,我有一个具有其他布局的面板(BorderLayout
),我想在其容器中添加与组布局面板相同的间隙(我将通过空边界添加它)。
所以我的问题是,如何获得容器间隙的大小还是使用另一种方法更好?
我不知道如何获得容器间隙的大小,所以我唯一能想到的就是将面板添加到具有组布局的面板中,并在那里添加容器间隙。
对于BorderLayout
使用:
new BorderLayout(hgap,vgap)
-或以下两者的组合:BorderLayout.setHgap(int)
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));