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

zor*_*gle 5 java miglayout

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

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

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

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

谢谢

det*_*erb 8

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

您可以通过将标签的布局更改为来执行此操作 "span 2, wrap, wmax 100%"

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