|
Программист должен указать(зарегистрировать), какие объекты являются слушателями для всех объектов, которые могут запускать события 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.контроллер определяет, как должны реагировать вид и данные модели в ответ на действия пользователя.
GUI общее понятия, принципы реализации в Java.*
GUI(graphic user interface)–часть программы которая взаимодействует с пользователем.
• Окна(Window)
• Меню(Menu)
• Кнопки(Button)
GUI получает данные от пользователя и передаёт в программу для обработки. В работе с GUI используются события и обработчики событий
Каждый компонент графического интерфейса имеет так называемый свой UI-представитель, который определяет вид данной компоненты в интерфейсе. Вид компонента классом UIManager, который использует 3 стандартных интерфейса: MetaltJava, Windows,Motif
Swing входит в состав набора библиотек Java Foudation Classes (JFC):
--Swing содержит компоненты для создания пользовательского интерфейса,
--Java2D-библиотека, позволяющая применять в приложении двухмерную графику,
--Accessibility-набор классов и интерфейсов, наделяющих приложения средствами поддержки пользователей с ограниченными возможностями
--Drag’n’Drop-дополнение, позволяющее приложению взаимодействовать с приложениями операционной системы пользователя или другими Java приложениями с помощью технологии перетаскивания (drag and drop)
Графический пользовательский интерфейс(GUI) относится к системам, управляемым событиями(event driven systems)
При наступлении события программа выполняет необходимы действия, а затем снова переходит к ожиданию.
while(readedByte!=-1){
outFile.write(readedByte);
readedByte = sequenceStream.read(); } }// try end
catch (IOException e) {
System.out.println("IOException: " +
e.getMessage());}
try {sequenceStream.close();}
catch(IOException e) { };
try{outFile.close();}
catch(IOException e){};
} // finally end
Для данного класса имеется конструктор для произвольного количества входных потоков, в нем используется абстрактное представление интерфейса Enumeration, который позволяет получить упорядоченный список объектов любого типа (только InputStream в данном случае)
Интерфейс Enumeration (методы hasMoreElements, nextElement) реализуют большинство классов-коллекций,Например класс Vector, ArrayList,LinkedList и др.
Дата добавления: 2015-09-11; просмотров: 87 | Поможем написать вашу работу | Нарушение авторских прав |