MigLayout 50%宽度
问题描述:
我有一个Panel,它是JDialog
的contentPane。该小组被水平分为两部分。 UpperHalfPanel
和LowerHalfPanel
由:MigLayout 50%宽度
Panel.add("UpperHalfPanel", "wrap");
Panel.add("LowerHalfPanel");
LowerHalfPanel
的被垂直地划分成两个部分。 LowerHalfLeftPanel
和LowerHalfRightPanel
。
现在UpperHalfPanel
的大小由JTextField
列的数量来计算,我发现一个方法,使LowerHalfLeftPanel
和LowerHalfRightPanel
填补LowerHalfPanel
宽度的50%。
简而言之,它可以被描述为一个有两行的表格,最下面一行有两个相等的列。
答
也许您在找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。
非常感谢... – 2012-02-28 17:13:09
垂直细胞是否有跨度? – Kieveli 2013-08-30 11:38:49
@Kieveli:您可以添加'flowy'或'flowx'来指示组件上的下一个组件将垂直或水平放置。它默认为flowx。我喜欢你的风格btw。 – Kieveli 2013-08-30 11:54:42