Как компоненты Swing внутренне создаются, размечаются, перекрашиваются, уведомляются о событиях ... - PullRequest
5 голосов
/ 26 мая 2009

Интересно, есть ли хорошая документация (или (просматриваемая) электронная книга) о жизненный цикл компонентов Swing .

Является ли термин "жизненный цикл" правильным словом?

Я надеюсь найти ответы на такие вопросы, как:

  • Как, когда, в каком порядке называются методы рисования ?
  • Как, когда, какие события кем вызываются?
  • Какова точная последовательность вызовов методов для создания компонента?

Время от времени я сталкиваюсь со странным поведением своих приложений, например:

  • ComponentListener событие изменения размера вызывается до setVisible (true)
    (так что корневая панель имеет отрицательные размеры!)
  • Некоторые компоненты расположены правильно только после изменения размера JFrame вручную
  • Изменение суперкласса с JPanel на JLayeredPane вызывает мой класс быть выложенным по-другому внутри другого контейнера.
  • И много других странных вещей ...

1 Ответ

2 голосов
/ 26 мая 2009

У меня был тот же вопрос давно.

Я не могу поверить, как сложно найти хороший ресурс по этой теме в Интернете.

К счастью, я нашел эту ссылку, и теперь она есть в моей закладке с золотой меткой. :)

Обзор архитектуры Swing

Когда вы хорошо поймете, как они работают концептуально, вы сможете решить большинство проблем, о которых вы упомянули.

Надеюсь, это поможет.

...