【问题标题】:How to prevent MigLayout from exceeding a container's bounds如何防止 MigLayout 超出容器的界限
【发布时间】:2011-04-09 10:22:05
【问题描述】:

我正在尝试使用 MigLayout 构建一个简单的状态面板,如下所示:

setLayout(new MigLayout("fillx", "[][p]")); // removing constructor args makes no difference
add(createStatusLabel(), "span 2, wrap");
add(createProgressBar(), "growx, pushx");
add(createCancelButton(), "");

只要状态标签显示的状态消息足够短以适合当前面板的大小(取消按钮保持右对齐,并且进度条调整大小以占用剩余空间),此方法就可以正常工作。如果状态消息过长,不裁剪,导致区域超出容器边界,导致取消按钮被推到屏幕外。

关于如何防止这种情况发生的任何建议?

谢谢

【问题讨论】:

    标签: java miglayout


    【解决方案1】:

    尝试将标签的最大宽度设置为 100%。

    您可以通过将标签的布局更改为"span 2, wrap, wmax 100%"来做到这一点

    在我的测试中,我发现它看起来仍然不太正确,因此您可能需要减去一点长度(例如wmax 100% - 10px)以使其远离边缘。

    【讨论】:

    • 谢谢 - 我只是登录以使用相同的解决方案回答我自己的问题,但你打败了我。我还发现 100% 太大了——可能不允许边框或插图。我也尝试在宽度表达式中使用“父”引用,但我看到 MigLayout 不再允许这样做。 (我会投票给你,但我还没有足够的积分)
    • 这就是我喜欢互联网的原因。谢谢你们!
    猜你喜欢
    • 2019-03-01
    • 2016-08-01
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多