2012-02-20 111 views
0

我有一個Panel,它是JDialog的contentPane。該小組被水平分爲兩部分。 UpperHalfPanelLowerHalfPanel由:MigLayout 50%寬度

Panel.add("UpperHalfPanel", "wrap"); 
Panel.add("LowerHalfPanel"); 

LowerHalfPanel的被垂直地劃分成兩個部分。 LowerHalfLeftPanelLowerHalfRightPanel

現在UpperHalfPanel的大小由JTextField列的數量來計算,我發現一個方法,使LowerHalfLeftPanelLowerHalfRightPanel填補LowerHalfPanel寬度的50%。

簡而言之,它可以被描述爲一個有兩行的表格,最下面一行有兩個相等的列。

回答

2

也許您在找split/span。沒有更多的代碼示例,很難說。很多時候我發現MigLayout不需要嵌套面板。如果你想出一個簡單的例子或模擬圖像,這將有所幫助。

這聽起來像你想的:

JPanel outerPanel = new JPanel(new MigLayout()); 
JPanel upperPanel = new JPanel(); 
JPanel lowerLeftPanel = new JPanel(); 
JPanel lowerRightPanel = new JPanel(); 

outerPanel.add(upperPanel, "span 2, wrap"); 
outerPanel.add(lowerLeftPanel); 
outerPanel.add(lowerRightPanel); 

這將使上游面板跨度2「細胞」和左下角和右下角可以根據這些面板的內容,其下平分秋色。有辦法強制大小,如「!」或「wmin」。嘗試swing demo,轉到跨度部分。右鍵點擊這些區域可以讓你試驗這些限制。另請參閱MigLayout cheat sheet

+0

非常感謝... – 2012-02-28 17:13:09

+0

垂直細胞是否有跨度? – Kieveli 2013-08-30 11:38:49

+0

@Kieveli:您可以添加'flowy'或'flowx'來指示組件上的下一個組件將垂直或水平放置。它默認爲flowx。我喜歡你的風格btw。 – Kieveli 2013-08-30 11:54:42