Компонент связывания < - > Контейнер (свойство Enabled)
-
05-07-2019 - |
Вопрос
Я просто пытаюсь найти лучший способ воспроизвести довольно полезную функцию Windows Forms.Panel
в Java. По сути, когда вы отключаете Windows Forms.Panel
, все дочерние элементы управления также отключаются. Однако их свойство enabled сохранено , поэтому при повторном включении Panel
любой дочерний элемент управления, который был отключен до отключения Panel, остается отключено.
Я могу добавить прослушиватель свойства для JPanel
, который будет запускаться при изменении свойства его включенного свойства, а затем циклически перебирать все компоненты JPanel
и устанавливать их отключенными , но это не сохранит включенные свойства компонента.
Есть предложения?
Решение
Более сложное решение можно найти в отключенной панели запись. Внутренне он использует коллекцию, предложенную mlk, для отслеживания компонентов, которые были включены. Даже если вам не нравится предлагаемое решение, вы все равно можете использовать Swing Utils класс, чтобы легко получить все компоненты на панели.
Другие советы
Сохраните отключенные компоненты в коллекции и проверьте эту коллекцию при повторном включении их. Р>