Java GUI Swing Модель Объяснение - PullRequest
14 голосов
/ 16 декабря 2008

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

Ответы [ 7 ]

13 голосов
/ 16 декабря 2008

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

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

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

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

2 голосов
/ 16 декабря 2008

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

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

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

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

Для деталей, которые меня смущали, когда я начинал с Swing, были все типы панелей, такие как ContentPane, RootPane, GlassPane. Раздел Использование контейнеров верхнего уровня содержит информацию и полезные схемы иерархии контейнеров контейнеров верхнего уровня. Раздел Как использовать корневые панели содержит подробные сведения о стеклянных, многослойных и контентных панелях.

2 голосов
/ 16 декабря 2008

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

1 голос
/ 21 декабря 2008

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

0 голосов
/ 16 декабря 2008

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

0 голосов
/ 16 декабря 2008

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

0 голосов
/ 16 декабря 2008

Filthy Rich Clients * Chet Haase и Romain Guy - отличная книга о пользовательском интерфейсе Java. Он также охватывает некоторые более продвинутые вопросы, но введение и несколько первых глав хорошо объясняют фундаментальные вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...