我有一个Panel,它是JDialog
的contentPane。该小组横向分为两部分。 UpperHalfPanel
和LowerHalfPanel
:
Panel.add("UpperHalfPanel", "wrap");
Panel.add("LowerHalfPanel");
LowerHalfPanel
被垂直分为两部分。 LowerHalfLeftPanel
和LowerHalfRightPanel
。
现在UpperHalfPanel
的大小取决于JTextField
的列数,我找到了一种让LowerHalfLeftPanel
和LowerHalfRightPanel
填充50%的方法宽度为LowerHalfPanel
。
简单地说,它可以描述为一个有两行的表,而底行有两个相等的列。
答案 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。