我有很多JPanel
与GroupLayout
,我使用addContainerGap()
来增加边框上的差距。我还有一个带有其他布局的面板(BorderLayout
),我想在容器中添加与组布局面板相同的间隙(我将通过空边框添加它)。
所以我的问题是,如何才能获得容器间隙的大小?或者使用其他方法更好?
我不知道如何获得容器间隙的大小,所以我唯一能想到的就是在面板中添加一个具有组布局的面板,并在那里添加容器间隙。
答案 0 :(得分:3)
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));