如何防止MigLayout超出容器的界限

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

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

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

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

谢谢

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

您可以通过将标签的布局更改为"span 2, wrap, wmax 100%"

在我的测试中,我发现它仍然看起来不太正确,所以你可能想减去一点长度(比如wmax 100% - 10px )以使它远离边缘。