
Графические интерфейсы пользователя Java
Описание
Данная книга предназначена для разработчиков Java, желающих освоить создание приложений с графическим интерфейсом. Вы познакомитесь с ключевыми библиотеками Java для GUI, такими как AWT, Swing, SWT/JFace и JavaFX. Книга детально рассматривает принципы проектирования и реализации графических интерфейсов, включая обработку событий, компоновку элементов и визуализацию данных. Автор, Тимур Сергеевич Машнин, предоставляет практические примеры и упражнения, помогающие освоить навыки разработки эффективных и привлекательных пользовательских интерфейсов для настольных приложений Java. Книга поможет вам создать удобные и интуитивно понятные приложения.
© Тимур Машнин, 2020
ISBN 978-5-0050-2742-9
Создано в интеллектуальной издательской системе Ridero
Любое приложение, требующее взаимодействия с пользователем, должно иметь интерфейс пользователя или GUI Graphical User Interface.
От интерфейса пользователя зависит привлекательность и удобство работы с программой.
Интерфейс пользователя может быть, как низкоуровневым, в виде командной строки, так и иметь разнообразные графические компоненты – кнопки, переключатели, меню, поля ввода и другие элементы.
Технология Java предлагает набор библиотек классов и интерфейсов, на основе которых можно построить эффективный графический интерфейс пользователя, имеющий необходимый внешний вид и поведение для создания комфортной среды конечному потребителю.
Самой первой графической библиотекой платформы Java была библиотека AWT набора JDK 1.0.
Далее библиотека AWT была дополнена библиотекой Java 2D двухмерной графики и изображений.
Библиотека AWT обеспечивает для разработчика приложений возможность использования таких основных компонентов GUI-интерфейса как кнопка, флажок, список выбора, прокручивающийся список, метка, диалоговое окно, окно выбора файла, меню, панель с прокруткой, текстовая область и текстовое поле, использования функции Drag-and-Drop, возможность обработки событий UI-компонентов, компоновки компонентов в рабочей области, работы с цветом, шрифтом, графикой, рисования и печати.
Библиотека AWT считается тяжеловесной, так как она содержит нативную библиотеку java.awt.peer, через которую взаимодействует с операционной системой компьютера таким образом, что AWT-компоненты имеют своих двойников, реализованных для конкретной операционной системы, с которыми они связаны интерфейсами пакета java.awt.peer.
Поэтому отображение AWT GUI-интерфейса зависит от операционной системы, в которой приложение развернуто.
Для расширения набора GUI-компонентов библиотеки AWT, устранения ее тяжеловесности и возможности выбора внешнего вида и поведения (Look and Feel) GUI-компонентов была создана графическая библиотека Swing.
Библиотека Swing основывается на библиотеке AWT и напрямую не связана, как библиотка AWT, с операционной системой, в которой она работает.
Поэтому библиотека Swing является уже легковесной.
Кроме того, библиотека Swing дополняет библиотеку AWT такими компонентами GUI-интерфейса как панель выбора цвета, индикатор состояния, переключатель radio button, слайдер и спиннер, панель с закладками, таблицы и деревья, расширенными возможностями компоновки GUI-компонентов, таймером, возможностью отображения HTML-контента.
С помощью библиотеки Swing стало возможным создать набор отображений Look and Feel, которые разработчик может выбирать, не оглядываясь на операционную систему, и изменять внешний вид GUI-интерфейса.
Также библиотека Swing реализует архитектуру MVC (Model-View-Controller) и потоковую модель Event Dispatch Thread (EDT).
Библиотека SWT (Standard Widget Toolkit) является альтернативой библиотекам AWT/Swing, однако она не включена в официальный релиз JRE/JDK.
Библиотека SWT была создана в процессе работы над проектом Eclipse и является попыткой взять лучшее из архитектур библиотек AWT и Swing и предоставить возможность создания быстрых GUI-интерфейсов с отображением Look and Feel, как можно более полно соответствующим операционной системе, в которой они работают.
Архитектура системы SWT построена таким образом, что SWT-компоненты представляют собой лишь Java-оболочки GUI-компонентов конкретной операционной системы.
Для операционной системы, в которой отсутствует реализация какого-либо компонента, система SWT обеспечивает Java-эмуляцию.
Так в системе SWT достигается скорость работы и полное соответствие внешнему виду и поведению операционной системе.
Для создания GUI-интерфейса система SWT предоставляет такие GUI-компоненты как кнопка, включая флажок и переключатель, список, метка, меню, текстовая область, диалоговое окно, индикатор прогресса, панель с прокруткой, слайдер и спиннер, таблица и дерево, панель с вкладками, панель выбора даты, панель инструментов, встроенный Web-браузер, гиперссылка, а также обеспечивает компоновку SWT-компонентов, встраивание AWT-компонентов, отображение OpenGL-контента, печать, поддержку операций Drag and Drop, 2D-графики, технологии Win32 OLE.
Библиотека JFace дополняет библиотеку SWT и создана на основе библиотеки SWT с реализацией архитектуры MVC (Model-View-Controller), предоставляя такие MVC GUI-компоненты как таблица, дерево, список, текстовая область и диалоговое окно, обеспечивая определение пользовательских команд независимо от их представления в GUI-интерфейсе, управление шрифтами и изображениями, помощь пользователю в выборе соответствующего содержания для полей в GUI-компонентах, выполнение длительных задач.
Библиотека Java 3D была создана как высокоуровневая библиотека для создания 3D графики, включая анимацию 3D-объектов.
Похожие книги

1С: Бухгалтерия 8 с нуля
Овладейте программой 1С:Бухгалтерия 8 с помощью этого исчерпывающего руководства. Книга детально описывает все аспекты работы с программой, от ввода данных до формирования отчетов. Вы научитесь автоматизировать основные участки бухгалтерии: учет наличных и безналичных средств, основных средств, товарно-материальных ценностей, зарплаты и производства. Подробные уроки с примерами помогут вам быстро освоить все функции программы. Эта книга – ваш надежный помощник в освоении 1С:Бухгалтерия 8.

1С: Управление торговлей 8.2
Современные торговые предприятия сталкиваются с огромным количеством задач: управление широким ассортиментом товаров, различными условиями продаж (предоплата, скидки), категориями клиентов (VIP, постоянные), складскими операциями, сертификацией и инвентаризацией. Эта книга посвящена автоматизации торговой деятельности с помощью популярного программного продукта "1С: Управление Торговлей 8.2". Вы узнаете, как эффективно использовать возможности программы для управления запасами, закупками, продажами, финансами и маркетингом. Подробно рассматриваются функциональные возможности, особенности работы с информационными базами и пользовательским интерфейсом. Идеальное руководство для начинающих пользователей, стремящихся освоить работу с программой "1С: Управление Торговлей 8.2" и повысить эффективность своего бизнеса.

200 лучших программ для Интернета. Популярный самоучитель
Эта книга – ваш путеводитель в мир программ для Интернета. Вы узнаете о широком спектре утилит, от почтовых клиентов до браузеров, менеджеров загрузок и антивирусных программ. Познакомьтесь с альтернативами стандартным приложениям Windows, которые помогут вам эффективно использовать Интернет для общения, поиска информации, скачивания файлов и многого другого. Узнайте, как оптимизировать свою работу в Сети, защитить свой компьютер от угроз и использовать дополнительные сервисы Интернета. Книга содержит подробные описания программ, их функциональные возможности и практические советы.

300 лучших программ на все случаи жизни
Эта книга – ваш надежный гид в мире программного обеспечения. Она содержит обзор 300 лучших программ, охватывающих широкий спектр задач: от офисных приложений до системных утилит, графики, музыки, видео, обработки звука, браузеров, почты и антивирусов. В книге вы найдете подробные описания, сравнения и рекомендации по выбору программ, что поможет вам найти оптимальное решение для любой задачи. Книга предназначена для пользователей с разным уровнем опыта, от новичков до профессионалов. Она поможет вам эффективно работать на компьютере, используя самые актуальные и полезные программы.
