- •Краткая историческая справка.
- •Преимущества языка Java.
- •Недостатки java:
- •Лекция 2. Этапы разработки java-приложений. Этапы разработки java-приложений.
- •Установка jdk.
- •Инсталляция исходных кодов библиотек
- •Инсталляция пакета документации.
- •Тестирование правильности установки и создание простейшей программы
- •Визуальные среды программирования.
- •Лекция 3. Переменные и типы данных. Переменные и типы данных.
- •Подробности о примитивных типах.
- •Лекция 4. Операторы и функции. Операторы и функции.
- •Операторы ветвлений и циклов.
- •Оператор цикла while.
- •Оператор цикла for.
- •Лекция 5. Объектно ориентированное программирование Объектно ориентированное программирование.
- •Определение объекта.
- •Инкапсуляция.
- •Наследование.
- •Полиморфизм (перегрузка).
- •Пример ооп – программы.
- •Отличие перегрузки функций от переопределения.
- •Отличие классов от интерфейсов.
- •Лекция 6. Массивы и строки. Массивы и строки.
- •Многомерные массивы.
- •Приведение типов и динамические массивы.
- •Строки в java.
- •Лекция 7. Организация ввода-вывода данных Организация ввода-вывода данных.
- •Функции стандартной библиотеки ввода/вывода.
- •Новая библиотека ввода/вывода.
- •Классы потокового ввода/вывода из пакета java.Io.
- •Лекция 8. Обработка исключений. Обработка исключений.
- •Классификация исключений.
- •Перехват исключений блоками try/catch.
- •Самостоятельное выбрасывание исключений.
- •Разработка собственных классов исключений.
- •Лекция 9. Потоки. Потоки.
- •1. Cпециальный класс Thread.
- •2. Реализация интерфейса Runnable.
- •Выбор между использованием класса Thread и интерфейса Runnable.
- •Синхронизация потоков с помощью оператора synchronized.
- •Синхронизация потоков с помощью семафоров.
- •Лекция 10. Подключаемые библиотеки java. Подключаемые библиотеки java.
- •Библиотека awt
- •Внутреннее устройство системы обработки событий awt.
- •Библиотека Swing.
Лекция 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.
