То же произошло со мной. На самом деле по сей день я не вполне получаю 100%, как все это работает.
Swing является очень гибкой платформой - возможно, слишком гибкий. С гибкостью прибывает, большая абстракция и с абстракцией происходит беспорядок. :)
я нашел следующие статьи стоящими чтения. Они помогли мне лучше понять большое изображение Swing.
Swing процесс установки делегата UI , который является просто этим изображением:
Они объясняют вполне хорошо, как модель и делегат работают. Это всегда сводит меня с ума, когда я вижу их JLabel
, LabelUI
, ui.update
, и т.д.
Вы посмотрели на Java Учебное руководство Swing (нажмите здесь )? Это делает довольно хорошее задание покрытия основ разработки приложений Swing.
Так как этот вопрос отмечен с JFrame
, я предложу несколько ссылок для понимания, как JFrame
с и другие контейнеры Swing верхнего уровня работают.
я также нашел, что Swing был (и все еще), вполне включенный, и смотрящий на документацию, предоставленную Sun, требуется время от времени - Каждый раз, когда я проверяю, я, кажется, изучаю что-то новое.
Первый, основы: JFrame
класс из спецификаций API Java. Спецификации API Java часто предоставляют хорошую подробную информацию о классах. В этом экземпляре Вы заметите, что существует несколько ссылок такой как Как к разделу Make Frames из Учебных руководств по Java.
, Кроме которого, я также рекомендую смотреть Урок: Использование Компонентов Swing из Учебных руководств по Java. Урок предоставляет инструкции относительно того, как использовать компоненты, обеспеченные в Swing наряду с некоторыми полезными примерами.
Для большего количества частей специфических особенностей, которые я нашел сбивающими с толку, когда я запустил с Swing, были все различные типы областей, такой как ContentPane
, RootPane
, GlassPane
. раздел Using Top-Level Containers предоставляет информацию и полезные схемы на контейнерной иерархии контейнеров верхнего уровня. , Как к Use Root Panes раздел входит в детали о Стекле, Многоуровневом, и Довольном Области с большим количеством примеров.
Я нашел Проводник Swing быть драгоценным инструментом для понимания иерархии компонентов (особенно в сложных графический интерфейсах пользователя) и взгляд на свойства (увы, только для чтения: мы привыкаем к удобству Firebug!). Это имеет плагин Eclipse.
Грязные Толстые клиенты Chet Haase и Romain Guy замечательная книга о Java UI. Это покрывает еще некоторый усовершенствованный материал также, но введение и немного первых глав объясняют фундаментальные вещи хорошо.
Если после чтения учебного руководства Swing Вы находите, что Ваш интерес заключается в более усовершенствованных темах, можно также хотеть посмотреть Swing Второй Выпуск Robinson и Vorobiev.
Я нашел, что просто просмотр вокруг в исходном коде (щелкают при нажатой клавише Ctrl по имени при использовании NetBeans) был действительно полезен. Если я буду видеть, что метод появляется в диалоговом окне завершения, с которым я не знаком, то я буду просто нажимать "Go to source" и озираться, пока я не буду доволен им.