Тимур Машнин

Графические интерфейсы пользователя Java


Скачать книгу

такие стандартные графические компоненты интерфейса пользователя как кнопки, таблицы, поля ввода и др., а также методы для работы с ними.

      Библиотека Swing составляет основную часть библиотеки JFC (Java Foundation Classes), которая объединяет классы и интерфейсы, обеспечивающие интерфейс пользователя Swing-компонентами, выбор внешнего вида и поведения интерфейса, поддержку технологий для людей с ограниченными возможностями, работу с высококачественной двухмерной графикой, текстом и изображениями, а также интернационализацию графического интерфейса пользователя.

      В настоящее время библиотека Swing входит в набор настольных Java-технологий.

      Все классы Swing-компонентов являются наследниками базового класса JComponent пакета javax. swing.

      При конструировании Swing-интерфейса компоненты помещаются в контейнеры, образующие иерархию, которая берет свое начало от контейнеров верхнего уровня, представленных классами JApplet, который уже запрещен, JDialog, JFrame и JWindow.

      Основные свойства графической библиотеки Swing можно суммировать как:

      Кроссплатформенность.

      Механизм сменного внешнего вида и поведения компонентов (pluggable look and feel).

      Внешний вид и поведение графического интерфейса пользователя может определяться программным образом или может выбираться при выполнении приложения.

      Расширяемость за счет возможности расширения классов и интерфейсов библиотеки.

      Архитектура Swing-компонентов основана на технологии Java Beans.

      Возможность настройки внешнего вида Swing-компонентов за счет изменения свойств таких элементов компонентов как рамки, цвет, фон и др.

      Легковесность.

      Так как AWT-компоненты непосредственно взаимодействуют с операционной системой и представляют собой каждый маленькое индивидуальное окно, то их называют тяжеловесными.

      Компоненты Swing представляют собой области в окне, характеризующиеся координатами и размером, при этом они не работают напрямую с операционной системой, их отображение основывается на реализации Java 2D API, поэтому их называют легковесными.

      Если легковесные компоненты используются совместно с тяжеловесными, то так как тяжеловесные напрямую связаны с операционной системой, то они будут прорисовываться в первую очередь, поэтому в случае размещения тяжеловесных компонентов в легковесных, они будут перекрывать собой легковесные, что приведет к неверному отображению графического интерфейса.

      В библиотеке Swing автоматически заложена двойная буферизация при выводе изображения, т.е. изображение сначала полностью формируется в оперативной памяти, а затем целиком выводится на экран, таким образом устраняется эффект мерцания изображения и повышается скорость рисования.

      Использование библиотеки Swing не является потоково-безопасной.

      Доступ к Swing-компонентам должен осуществляться в специальном потоке Event Dispatch Thread (EDT).

      Поддержка технологий для людей с ограниченными