Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кпп.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
238 Кб
Скачать
☆

Лекция 10. Подключаемые библиотеки java. Подключаемые библиотеки java.

Графический интерфейс приложений. Библиотеки AWT и Swing.

 Все примеры программ, которые мы рассматривали до сего времени являются консольными приложениями. Это означает, что они запускались из командной строки и в основном имели дело с текстовым терминалом. Однако терминальные окна в современных ОС являются далеко не самым главным способом взаимодействия с пользователем. Со времен Windows 3.11 в большинстве современных ОС широко используются графические окна, позволяющие интерактивно взаимодействовать с пользователем через графический манипулятор – мышь. За все время развития компьютерной техники создано огромное количество библиотек для различных графических интерфейсов ОС, в том числе MFC, Qt, GTK, OpenGL, Xview и т.д. Все они прежде всего созданы для взаимодействия с системными графическими библиотеками вроде api Win32 или X Window System. Позволяют рисовать окна на экране, перетаскивать одни окна над другими, реагировать на перемещения и щелчки мыши, выбрасывают меню и т.д. В технологии java взаимодействие подобных библиотек с графическими подсистемами ОС осложняется наличием виртуальной машины как прослойки между интерфейсом ОС и используемой графической библиотекой. При этом следует учитывать, что код java написанный для одной машины должен без помех выполняться на любой другой в силу принципов и идеологии java.

Поэтому классы графической библиотеки java реализуют интерфейсы для работы с графической подсистемой каждой операционной среды индивидуально. Для каждой графической оболочки уникально используются средства самой оболочки и графические библиотеки данной ОС..

Все это привело к разработке так называемых  peer – интерфейсов. Библиотека классов java, разработанная на основе этих peer – интерфейсов получила название AWT (Abstract Window Toolkit).

При использовании этой библиотеки для каждого графического объекта, созданного в программе, в ОС создается парный ему объект графической подсистемы, который затем и отображается на экране. В результате в каждой ОС графические объекты AWT имеют вид графических объектов самой ОС. С той же формой и способом отрисовки кнопок и системным набором  шрифтов. Говорят, что между AWT – объектом программы и системным графическим объектом устанавливается peer – интерфейс и всякое изменение AWT – объекта немедленно влечет за собой изменение объекта на экране.

 Впоследствии из библиотеки AWT путем переработки компонентов собрали более продвинутую версию, которая была полностью написана на java и не зависела от peer – интерфейсов. Эти компоненты обладают настраиваемым внешним видом и не зависят от платформы ОС. Такие компоненты стали называть "легкими компонентами". Из них позже была собрана библиотека, которую назвали Swing. Несмотря на то, что в основе этой библиотеки лежит все та же AWT, и классы Swing наследуют соответствующие классы AWT, все классы из неё были полностью переписаны. Поэтому библиотеку Swing можно использовать автономно от AWT. Начиная с Java SE она наряду с AWT считается основной графической библиотекой java. Начиная с той же Java SE базовая библиотека AWT была расширена новыми классами ввода/вывода, средствами рисования и вывода изображений и текста Java 2D, а также технологией перетаскивания текста DnD (Drag and Drop). Все эти графические инструменты библиотеки объединяются под общим названием JFS.