我正在尝试使用MigLayout构建一个简单的状态面板,如下所示:
setLayout(new MigLayout("fillx", "[][p]")); // removing constructor args makes no difference
add(createStatusLabel(), "span 2, wrap");
add(createProgressBar(), "growx, pushx");
add(createCancelButton(), "");
只要状态标签显示的状态消息足够短以适合当前面板的大小(取消按钮保持右对齐,并且进度条调整大小以占用剩余空间),这样就可以正常工作。如果状态消息太长,则不会被裁剪,并导致该区域超出容器的边界,导致取消按钮被推离屏幕。
有关如何防止这种情况发生的任何建议吗?
由于
答案 0 :(得分:8)
尝试将标签的最大宽度设置为100%。
您可以通过将标签的布局更改为"span 2, wrap, wmax 100%"
在我的测试中,我发现它仍然看起来不太正确,所以你可能想要减去一点长度(比如wmax 100% - 10px
)以使它远离边缘。