Лучший способ свернуть невидимые компоненты Java Swing

У меня есть некоторые компоненты Java Swing, чьи visible свойство имеет значение false. Когда они не видны, я не хочу, чтобы они занимали место в макете. Каков наилучший способ сделать это?

Я хочу подражать поведению WPF Visibility.Collapsed,

РЕДАКТИРОВАТЬ: я использую MiGLayout. Как описывает kiheru в ответе, проблема, с которой я столкнулся, связана с MiGLayout, а не с компоновками Swing в целом.

1 ответ

Решение

MigLayout по умолчанию обрабатывает невидимые компоненты так же, как видимые компоненты. Вам необходимо указать hidemode для другого вида поведения. Из документации возможны следующие значения:

  1. По умолчанию. Означает, что невидимые компоненты будут обрабатываться точно так, как если бы они были видимы.
  2. Размер компонента (если он невидим) будет установлен на 0, 0.
  3. Размер компонента (если он невидим) будет установлен на 0, 0, а промежутки также будут установлены на 0 вокруг него.
  4. Невидимые компоненты вообще не будут участвовать в макете и, например, не будут занимать ячейку сетки.
Другие вопросы по тегам