Компонент связывания < - > Контейнер (свойство Enabled)

StackOverflow https://stackoverflow.com/questions/1411447

  •  05-07-2019
  •  | 
  •  

Вопрос

Я просто пытаюсь найти лучший способ воспроизвести довольно полезную функцию Windows Forms.Panel в Java. По сути, когда вы отключаете Windows Forms.Panel , все дочерние элементы управления также отключаются. Однако их свойство enabled сохранено , поэтому при повторном включении Panel любой дочерний элемент управления, который был отключен до отключения Panel, остается отключено.

Я могу добавить прослушиватель свойства для JPanel , который будет запускаться при изменении свойства его включенного свойства, а затем циклически перебирать все компоненты JPanel и устанавливать их отключенными , но это не сохранит включенные свойства компонента.

Есть предложения?

Это было полезно?

Решение

Более сложное решение можно найти в отключенной панели запись. Внутренне он использует коллекцию, предложенную mlk, для отслеживания компонентов, которые были включены. Даже если вам не нравится предлагаемое решение, вы все равно можете использовать Swing Utils класс, чтобы легко получить все компоненты на панели.

Другие советы

Сохраните отключенные компоненты в коллекции и проверьте эту коллекцию при повторном включении их.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top