我有一些 Java Swing 组件,其 visible
属性设置为 false。当它们不可见时,我不希望它们占用布局中的任何空间。实现此目标的最佳方法是什么?
我希望模仿 WPF 的行为 Visibility.Collapsed
.
编辑:我正在使用 MiGLayout。正如 kiheru 在回答中所描述的,我遇到的问题是 MiGLayout 特有的,而不是一般的 Swing 布局。
最佳答案
MigLayout
默认情况下对待不可见组件的方式与处理可见组件的方式相同。您需要为其他类型的行为指定 hidemode
。来自documentation ,可能的值为:
- 默认。意味着不可见的组件将完全按照可见的方式处理。
- 组件的大小(如果不可见)将设置为 0、0。
- 组件的大小(如果不可见)将设置为 0, 0 并且其周围的间隙也将设置为 0。
- 不可见的组件根本不会参与布局,例如它不会占用网格单元格。
关于java - 折叠不可见的 Java Swing 组件的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18659804/