- •Обработка исключений
- •Методы класса Throwable
- •Коллекции
- •Класс ArrayList
- •Иерархия типов в java.Io
- •Классы DataInputStream и DataOutputStream
- •Класс StreamTokenizer
- •Классы Reader и Writer.
- •Класс RandomAccessFile
- •Сериализация и десериализация объектов
- •Чтение из стандартного ввода
- •Класс Scanner, конструкторы, основные методы
- •Класс jFrame, конструкторы, основные методы
- •Организация диалогов, класс jOptionPane и его методы
- •Способы идентификации источника событий
- •Панели и менеджеры раположения
- •Рассмотрим основные виды размещения:
- •Кнопки, иерархия классов, свойства, конструкторы и методы.*
- •Надписи, конструкторы и методы
- •Поля текстового ввода, иерархия классов, конструкторы и методы.*
- •Списки jList, конструкторы, методы
- •Классы для создания меню, последовательность действий при создании меню:
- •Событийная модель Java.*
- •Интерфейсы-слушатели и классы-адаптеры
- •Архитектура mvc (Model/View/Controller).*
- •Gui общее понятия, принципы реализации в Java.*
- •Методы класса Formatter
Интерфейсы-слушатели и классы-адаптеры
Программист должен указать(зарегистрировать), какие объекты являются слушателями для всех объектов, которые могут запускать события addXxxListener(XxxEvent event), где Ххх — имя события.
У объекта-слушателя есть методы, которые обрабатывают посылаемое событие – обработчики событий (Event event) –например событие типа ActionEvent обрабатывается методом actionPerformed().
Базовые классы, на которых основана событийная модель, находятся в пакетах java.util java.awt java.awt.event
Слушателем может быть объект любого класса, удовлетворяющего определенному интерфейсу — интерфейсу-слушателю.
Все интерфейсы-слушатели порождены от базового интерфейса EventListener
Для каждого интерфейса слушателей событий, содержащего несколько методов, в пакете java.awt.event определен простой класс-адаптер,который обеспечивает пустое тело для каждого из методов соответствующего интерфейса
Когда нужен только один или два таких метода, иногда проще получить подкласс класса-адаптера, чем реализовать интерфейс самостоятельно.
При получении подкласса адаптера требуется лишь переопределить те методы, которые нужны, а при прямой реализации интерфейса необходимо определить все методы, в том числе и ненужные в данной программе.
Заранее определенные классы-адаптеры называются так же, как и интерфейсы, которые они реализуют но в этих названиях Listener заменяется на Adapter: MouseAdapter,
Адаптер-это класс, соответствующего классу слушателю, который реализует интерфейс, в котором все методы определены, но ничего не делают.
Объекты — источники событий должны быть объектами класса, который имеет методы для регистрации слушателя addXXXListener и отключения слушателя removeXXXListener .
Каждый конкретный класс — источник событий позволяет подключать к объекту-источнику только слушателей определенных типов, для которых в классе есть методы подключения addXXXListener
Работа модели событий основана на том, что при наступлении какого-либо события объект-источник вызывает определенные методы интерфейса XXXListener для всех зарегистрированных объектов-слушателей
Т.о., компонент-источник, в котором произошло событие, не занимается его обработкой.
Он обращается к экземпляру класса-слушателя, умеющего обрабатывать события, делегирует (delegate) ему полномочия по обработке
Такая схема получила название схемы делегирования (delegation).
Она удобна тем, что мы можем легко сменить класс-обработчик и обработать событие по-другому или назначить несколько обработчиков одного и того же события.
С другой стороны, мы можем один обработчик назначить на прослушивание нескольких объектов-источников событий
Архитектура mvc (Model/View/Controller).*
Swing – набор графических компонентов для создания пользовательских интерфейсов приложений и аплетов, а также вспомогательные классы и инструменты для работы с этими компонентами.
Идея компонентного программирования -приложение конструируется из имеющегося набора компонент, свойства которых настраиваются и обеспечивается их совместная работа.
Использование проверенных и качественных компонентов ускоряет и упрощает разработку даже самого сложного приложения.
Компонент можно определить как завершенный фрагмент кода(черный ящик), представляющий некоторые услуги программисту и написанный в соответствии с некоторыми правилами, позволяющими определить свойства компонента. В ООП компоненты – классы и объекты.
При компонентном программировании используется архитектура Model/View/Controller (MVC)модель-вид-контроллер
1.модель хранит данные компонента и позволяет легко, не обращаясь к самому компоненту, изменять или получить эти данные
2.вид выводит данные на экран для представления их пользователю
3.контроллер определяет, как должны реагировать вид и данные модели в ответ на действия пользователя.