2014-03-13 87 views
2

我想知道如何将JPanel添加到JFrame并确保它居中并在两侧都有一定大小的差距?我可以把它放在中央,但它坚持到边缘。JFrame和JPanel居中

+1

@Reimeus我会明白,如果这将有助于回答这个问题,但所有我会的关系张贴到这将是window.add (组件网络),我不明白这会有什么帮助? – Softey

+1

问题是为JFrame(又名边界)修复间隙或修复JPanels大小或???,如果没有这个细节无法正确回答 – mKorbel

回答

5

使用边界布局。将JPanel放在中间,然后分别在东/西和北/南位置使用Box.createHorizo​​ntalStrut(size)和Box.createVerticalStrut(size)。

是这样的:(从内存中,可能不完全正确)

JPanel panel = new JPanel(); 
int gap = 20; //or whatever 
frame.getContentFrame().setLayout(new BorderLayout()); 
frame.add(panel, BorderLayout.CENTER); 
panel.add(Box.createHorizontalStrut(gap), BorderLayout.EAST); 
panel.add(Box.createHorizontalStrut(gap), BorderLayout.WEST); 
panel.add(Box.createVerticalStrut(gap), BorderLayout.NORTH); 
panel.add(Box.createVerticalStrut(gap), BorderLayout.SOUTH);