2014-03-13 93 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);