2012-02-20 68 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

相关问题