MigLayout 50%宽度

时间:2012-02-20 10:19:08

标签: java swing miglayout

我有一个Panel,它是JDialog的contentPane。该小组横向分为两部分。 UpperHalfPanelLowerHalfPanel

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

LowerHalfPanel被垂直分为两部分。 LowerHalfLeftPanelLowerHalfRightPanel

现在UpperHalfPanel的大小取决于JTextField的列数,我找到了一种让LowerHalfLeftPanelLowerHalfRightPanel填充50%的方法宽度为LowerHalfPanel

简单地说,它可以描述为一个有两行的表,而底行有两个相等的列。

1 个答案:

答案 0 :(得分:2)

也许你正在寻找分裂/跨度。没有更多的代码示例,很难说。很多时候我发现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