【问题标题】:MigLayout 50% widthMigLayout 50% 宽度
【发布时间】:2012-02-20 10:19:07
【问题描述】:

我有一个面板,它是 JDialog 的 contentPane。该面板水平分为两部分。 UpperHalfPanelLowerHalfPanel 来自:

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

LowerHalfPanel 垂直分为两部分。 LowerHalfLeftPanelLowerHalfRightPanel

现在UpperHalfPanel 的大小由JTextField 的列数决定,我正在寻找一种方法使LowerHalfLeftPanelLowerHalfRightPanel 填充LowerHalfPanel 宽度的50%。

简而言之,它可以描述为一个有两行的表格,最下面一行有两个相等的列。

【问题讨论】:

    标签: java swing miglayout


    【解决方案1】:

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

    【讨论】:

    • 垂直单元格是否有跨度?
    • @Kieveli:您可以在组件上添加“flowy”或“flowx”以指示下一个组件将垂直或水平放置。它默认为 flowx。顺便说一句,我喜欢你的风格。
    • 我认为应该是spany。但我现在对 Miglayout 越来越生疏了。太多的网络开发把它从我的大脑中挤出来了,我(谢天谢地)把 Swing 抛在了后面。
    猜你喜欢
    • 1970-01-01
    • 2015-03-18
    • 2019-07-29
    • 2022-07-24
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    相关资源
    最近更新 更多