2011-07-28 70 views
2

我有一個JPanel它設置爲BorderLayout。我在此面板中添加了2個JPanels,一個南面和一箇中心。在中央面板中,我添加了一個LowerBevelBorder。我發現我無法在主框架和邊框之間留下空隙。我怎麼做?這是我的panel1.setBorder(BorderFactory.createLoweredBevelBorder());在邊框和JFrame之間留出空隙

+0

我不明白你的問題,你能提供一個SSCCE嗎?並可能是你想要它看起來的截圖? – jzd

+0

possinle with'BorderLayout(int hgap,int vgap)'http://download.oracle.com/javase/6/docs/api/java/awt/BorderLayout.html#BorderLayout%28int,%20int%29 – mKorbel

回答

5

使用compound border它允許您嵌套邊界,而不必爲此目的創建容器。該API可以幫助您設置。例如,

int eb = 10; 
panel1.setBorder(BorderFactory.createCompoundBorder(
    BorderFactory.createEmptyBorder(eb, eb, eb, eb), // outer border 
    BorderFactory.createLoweredBevelBorder()));  // inner border 

注意代碼未經測試。

還要注意這取決於panel1是什麼。如果它不是BorderLayout主JPanel,那麼最好的辦法就是設置BorderLayout的邊框 - 使用JPanel作爲EmptyBorder。

+0

該死的好回答。謝謝 –

+0

不客氣!祝你好運! –

相關問題