Вопрос

Я уже некоторое время работаю с Swing, но вся модель/структура JFrameс, paint(), super, и т. д. у меня в голове все туманно.Мне нужно четкое объяснение или ссылка, которая объяснит, как устроена вся система графического интерфейса.

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

Решение

То же самое произошло и со мной.На самом деле по сей день я не совсем понимаю, как все это работает.

Swing — очень гибкая среда, возможно, даже слишком гибкая.С гибкостью приходит много абстракции, а с абстракцией приходит путаница.:)

Я нашел следующие статьи достойными прочтения.Они помогли мне лучше понять общую картину Swing.

Они довольно хорошо объясняют, как работают модель и делегат.Меня всегда бесит, когда я вижу эти JLabel, LabelUI, ui.update, и т. д.

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

Вы просмотрели руководство по Java Swing (нажмите здесь)?Он довольно хорошо описывает основы разработки приложений Swing.

Поскольку этот вопрос отмечен тегом JFrame, предложу несколько ссылок для понимания того, как JFrames и другие контейнеры Swing верхнего уровня работают.

Я также обнаружил, что Swing был (и остается) весьма вовлеченным, и время от времени требуется просматривать документацию, предоставленную Sun. Каждый раз, когда я проверяю, я, кажется, узнаю что-то новое.

Сначала основы: JFrame класс из спецификаций Java API.Спецификации API Java часто предоставляют хорошую подробную информацию о классах.В этом случае вы заметите, что есть несколько ссылок, таких как Как сделать рамки раздел из Учебных пособий по Java.

Помимо этого, я также рекомендую посмотреть Урок:Использование компонентов Swing из Учебников по Java.В уроке представлены инструкции по использованию компонентов Swing, а также несколько полезных примеров.

Что касается более подробной информации, которая меня смущала, когда я начал работать с Swing, это различные типы панелей, такие как ContentPane, RootPane, GlassPaneИспользование контейнеров верхнего уровня В разделе представлена ​​информация и полезные диаграммы по иерархии контейнеров верхнего уровня.А Как использовать корневые панели В разделе подробно описаны панели «Стеклянная», «Многослойная» и «Содержимое» с множеством примеров.

я нашел Свинг-исследователь быть ценным инструментом для понимания иерархии компонентов (особенно в сложных графических интерфейсах) и просмотра свойств (увы, доступных только для чтения:мы привыкаем к удобству Firebug!).У него есть плагин Eclipse.

Невероятно богатые клиенты Чета Хаазе и Ромена Гая — отличная книга о пользовательском интерфейсе Java.В нем рассматриваются и более сложные вещи, но введение и несколько первых глав хорошо объясняют фундаментальные вещи.

Если после прочтения руководства по Swing вы обнаружите, что вас интересуют более сложные темы, вы также можете просмотреть Свинг, второе издание Робинзон и Воробьев.

Я обнаружил, что простой просмотр исходного кода (щелкните имя, удерживая клавишу CTRL, если вы используете NetBeans) очень полезен.Если я увижу в диалоговом окне завершения метод, с которым я не знаком, я просто нажму «Перейти к исходному коду» и оглянусь вокруг, пока не освоюсь с ним.

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