Java Swing: Эффектные пользовательские интерфейсы - Издание второе (2011)
Детали Swing в Java 7 (в Java 8 и 9 изменений в Swing немного), проникнем в глубины многопоточного программирования в Swing, рассмотрим некоторые дополнения к Swing, включая части SwingX и MigLayout, и конечно же все все ошибки и неточности первого издания исправлены. Элегантное расположение компонентов, правильная обработка событий, рисование, изнанка и идея легковесных компонентов, используемый в Swing вариант шаблона `Модель-Вид-Контроллер`.January 1, 2011
java swingБесплатно скачать второе издание “Java Swing: Эффектные пользовательские интерфейсы” (PDF и EPUB) напрямую у автора!
Исходный код примеров на GitHub
Предыдущее издание сорвало завесу тайны с процесса создания эффектных, отточенных, быстрых приложений с использованием библиотек Swing и Java Foundation Classes. Элегантное расположение компонентов, правильная обработка событий, изнанка и идея легковесных компонентов, используемый в Swing вариант шаблона “Модель-Вид-Контроллер” стали близки, понятны и доступны миру.
Однако, прогресс не стоит на месте, и Swing меняется (не считая того, что его внешний вид, использующийся по умолчанию, все также особо не привлекает внимание - но это так легко поправить!). Добавлено множество дополнительных возможностей, как правило мелких, но приятных и делающих ваше приложение еще более гибким и эффектным. Растет и развивается проект SwingX, в котором зреют дополнительные компоненты и инструменты для Swing, иногда действительно впечатляющие. Более того, по некоторым слухам, в США Swing обогнал Windows Forms, и стал наиболее часто применяемой библиотекой для создания пользовательских интерфейсов.
К тому же предыдущее издание, несмотря на то, что было написано на одном дыхании и заслужило великолепные отзывы, не обошлось без опечаток, некоторых неточностей и пропустило несколько важных моментов, о которых стоит все же узнать. Особенно это верно для “знаменитой” модели многопоточности Swing, которой в новом издании уделяется очень много внимания, так как она остается основным источником ошибок и головной боли при работе с библиотекой, искусству расположения компонентов, глава о котором стала еще более интересной и насыщенной, и новым возможностям компонентов, особенно таблиц. Команда разработки Swing из компании Oracle (уже не Sun), в основном обосновавшаяся в России, также помогла при написании второго издания и высказала множество крайне интересных замечаний и предложений.
Все это требует свежего взгляда на вещи и нового издания книги. Работа над ним закончена, книга продается и вы можете ознакомиться с ней здесь и купить, если вам все понравится. Детали, вопросы и все остальное можно обсудить в форуме или написать напрямую автору.
Отзывы о книге
Здесь вы сможете просмотреть отзывы о книге, которые оставили ее читатели, а также сможете оставить и свой отзыв.
- Блистательная книга! Хочется передать привет Manning и O’Reilly - у них пока нет ничего подобного. Мои поздравления автору - ему удалось написать лучшую книгу по Swing ever.
- Не верил, что “специальную” литературу буду читать запоем, позабыв обо всем. Искренне рад, что ошибался. Методически ( от от общего к частному) книга выдержана просто блистательно. Теперь обязательно буду следить за творчеством автора.
- Хочу сказать ОГРОМНОЕ спасибо за неоценимый труд по Swing, почерпнул оттуда очень много, для своей работы по важности ставлю Вашу книгу в один ряд с “Code Complete” Макконнелла (не сочтите за лесть).
- Обе книги (первое и второе издание) самое лучшее, что есть из руководств по Swing. Автору огромная благодарность за его труд
- Я книгу Ивана Портянкина про Swing зачитал до дыр. Книга просто чудесная! Лучшего описания Swing я больше нигде не видел, включая попадавшиеся мне зарубежные издания.
- Полноценное раскрытие темы. Наверное я не ошибусь, если напишу что это основная книга на русском языке по Java Swing. Каждому разработчику десктопных UI под эту платформу желательно быть с ней знакомым.
- Просто великолепно!!! Воистину - краткость - сестра таланта. Просто и методично отшлифовано. Большое спасибо. Так держать!!!
- Классная книга, которая подойдет как новичкам так и профессионалам. Особую гордость испытываешь от того что эту книгу написал российский автор. Побольше бы таких книг.
Просмотреть все отзывы читателей
Посмотреть книгу в магазине Books.Ru
Посмотреть книгу в магазине OZON.Ru
Полный список глав книги
Книга покрывает все важнейшие вопросы, с которыми вы можете столкнуться при разработке приложений любой сложности в Swing. Начиная с постепенного обзора технологии как таковой, с каждой новой главой знакомство переходит в уверенное владение, а количество примеров, демонстрирующих поведение и особенности библиотеки, просто неисчислимо. Самая “горячая” особенность библиотеки, многопоточное программирование и поток рассылки событий, постоянно обсуждается, показаны основные ошибки и основные шаблоны, применяемые в Swing. Введение - краткое введение, об истории книги, благодарности и тому подобные мелочи, приятные сердцу автора.
Глава 1. Основные концепции - что лежит в основе книги, что движет изменениями в версиях, и какие решения и паттерны сделали Swing такой библиотекой, какая она есть, почему внешний вид Swing так легко изменить.
Глава 2. Модель событий. В этой главе мы увидим, как обрабатывать события в Swing, и рассмотрим основные типы событий, общие для всех графических компонентов.
Глава 3. За кулисами системы обработки событий. В этой главе мы познакомимся с «начинкой» системы обработки событий Swing и посмотрим, как она функционирует. Пульсирующее сердце Swing, непрерывно продолжающий свой бег поток рассылки событий Event Dispatch Thread оказывает свое влияние даже на самые маленькие программы Swing, и изучается в данной главе с особенным вниманием.
Глава 4. Рисование в Swing. Как только дело дойдет до первого собственного компонента или первым попыткам нарисовать что-то в Swing приложении, непременно обратитесь сюда. Эта новая глава посвящена непосредственно основам и трудностям рисования на экране в Swing, и прочитав ее вы сможете творить на экране все, не сомневаясь в происхождении любого пиксела.
Глава 5. Внутренние винтики Swing. Здесь мы ближе взглянем на некоторые внутренние механизмы библиотеки Swing, которые обычно работают как часы, однако при возникновении более сложных ситуаций требуют нашей осведомленности в них.
Глава 6. Контейнеры высшего уровня. Окна и остальные контейнеры Swing, размещающие ваши интерфейсы на экране. Особенности корневой панели, прозрачной панели, многоуровневой панели. Инструмент JXLayer, дающий некоторую власть над общим пространством окна.
Глава 7. Искусство расположения. Особая глава, после которой управлять расположением компонентов намного проще. Очень много мелочей добавлено к старому материалу, добавлены новые менеджеры расположения, соображения при проектировании интерфейса, сравнение табличных и блочных стратегий, инструменты для GridBagLayout, удобный MigLayout.
Глава 8. Надписи, значки, подсказки и прочий вывод статичной информации
Глава 9. Кнопки, кнопки, и еще раз кнопки. AbstractButton и ее производные.
Глава 10. Меню и панели инструментов.
Глава 11. Списки JList и JComboBox.
Глава 12. Элементы для ограниченного выбора - ползунки, счетчики и остальные подобные компоненты.
Глава 13. Эффективное распределение пространства. Панели прокрутки, разбиение экрана и многое другое.
Глава 14. Стандартные диалоги Swing. Ввод и вывод простой информации.
Глава 15. Уход за деревьями и иерархическая информация. Дерево JTree и все его сопровождающее.
Глава 16. Все для редактирования текста, простого, со стилями, HTML, некоторые хитрости пакета работы с текстом.
Глава 17. Таблица JTable. Все новые возможности из 1.6 и 1.7, винтики и шпунтики таблиц, зачастую основных рабочих лошадок деловых приложений.
Глава 18. Круговорот данных. drag’n’drop, copy/paste, undo/redo и остальные прекрасные мелочи библиотеки для работы с данными пользователей. Объем второго издания, благодаря плотной верстке, мелкому шрифту, и приборке устаревшего материала, остались разумными - около 600 страниц, то есть практически в пределах первого издания, несмотря на большое количество нового материала, снимки экранов и другие улучшения.
Файлы к книге
Здесь можно скачать архив со всеми исходными текстами примеров из книги. Все они, как и в прошлом издании, с максимальной тщательностью проверены, а также компилируются так просто, как только возможно. Так как каждый пример очень и очень краток и прост, но тем не менее демонстрирует тот или иной аспект поведения компонента Swing или какой-либо механизм Swing, и представляет собой законченную программу, выводящую окно на экран, используйте их как заготовку, обтачивая новые знания и концепции. Практика, обточка мастерства, на таких “заготовках”, быстро компилирующихся и запускающихся, быстро дополнит ваши знания уверенностью в том, как оно на самом деле работает в реальности.
Архив представляет собой набор директорий с примерами для каждой главы. Отдельной директорией идет директория “tools”, в которой хранятся полезные инструменты и заготовки из пакета com.porty.swing, которые мы время от времени описывали в книге. Чтобы скомпилировать примеры для какой-либо главы, просто зайдите в директорию с ее номером и наберите простое как мир:
javac *.java
В директории будут присутствовать все файлы, инструменты, значки и ресурсы, необходимые для запуска примеров. Далее вам остается лишь запускать нужные из них. Если вы хотите использовать что-то выглядящее более прилично чем внешний вид Swing по умолчанию, добавьте желаемый внешний вид в список доступных библиотек CLASSPATH, и запускайте примеры с ключом: -Dswing.defaultlaf=‘имя класса внешнего вида’
Исходный код примеров на GitHub
Если вы обнаружите в примерах ошибки, в архиве будет чего-либо не хватать, или что-то не будет компилироваться, сообщите мне. Заранее спасибо.