Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Топ:
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Дисциплины:
2017-12-21 | 242 |
5.00
из
|
Заказать работу |
|
|
Пользователь, располагая прикладным окном, оперирует для связи с программой интерфейсными элементами, каждый из которых способен генерировать событие. К таким элементам относится уже используемая нами мышь, но также кнопки, флажки, списки с выбором, пункты меню, полосы прокрутки, клавиши клавиатуры, текстовые редакторы и прикладное окно, генерирующее события при изменении его размера, при его закрытии и др.
Эти элементы представляются в программе в виде объектов соответствующих классов, в которые встроен механизм делегирования, предполагающий применение определённых интерфейсов и предопределённых функций. Причём, ради простоты, не требуется наследовать класс события, соответствующего элементу, поскольку он запретил бы наследовать более значимый класс, определяющий основное функционирование объекта. Но обязательно надо наследовать некоторый интерфейс, предписанный для данного элемента.
Пакет java.awt.event содержит следующие классы событий интерфейсных объектов, которые определяют множество констант, свойств и функций, используемых с соответствующими элементами: ActionEvent, AdjustimentEvent, ComponentEvent, FocusEvent, InputEvent, ItemEvent, KeyEvent, MouseEvent, TextEvent и WindowEvent.
Приёмники событий (которые также называют блоками прослушивания) должны наследовать интерфейсы соответствующих интерфейсных объектов. Определены следующие интерфейсы прослушивания событий: ActionListener, AdjustmentListener, ComponentListener, ContainerListener, FocusListener, ItemListener, KeyListener, MouseListener, MouseMotionListener, TextListener и WindowListener. Эти интерфейсы включают предопределённые обработчики событий. Например, интерфейс ActionListener включает предопределённый обработчик actionPerformed(), а интерфейс WindowListener включает предопределённые обработчики windowClosed(), windowClosing(), windowOpened() и др.
|
Так же как при уведомлении обозреватели подписывают на наблюдаемый объект с помощью функции addObserver(), так и в случае интерфейсных элементов приёмники (блоки прослушивания) подписывают на источник с помощью специальной функции класса источника, которая имеет вид:
public void аdd Type Listener (Type Listener tL);
где Type - тип источника события.
При наступлении события источника выполняется предопределённый обработчик подписавшегося приёмника.
Обработка событий мыши на языке Java, используя интерфейс MouseListener
Из предыдущего раздела явствует, что для подписки приёмника прослушивания на событие мыши необходимо в качестве типа источника события Type в общей записи
public void аdd Type Listener (Type Listener tL);
взять Mouse. Полученная функция
public void аdd Mouse Listener (Mouse Listener tL);
применена в примере 9.5.2.
Пример 9.5.2. Обработка событий мыши на Java, используя интерфейс MouseListener.
///////////////
// Java и J# Вариант 2 (Вариант 1 смотрите в примере 10.4.3)
import java.awt.*;
import java.awt.event.*;
// Класс прикладного окна
public class MainClass extends Frame implements MouseListener
{
// Предопределённые обработчики интерфейса MouseListener
public void mouseClicked (MouseEvent mE){}
public void mouseEntered (MouseEvent mE){}
public void mouseExited (MouseEvent mE){}
public void mouseReleased (MouseEvent mE){}
// Выполнить предопределённый обработчик mousePressed мыши
Public void mousePressed (MouseEvent mE)
{
System.out.println ("Mouse: x= " + mE.getX ()
+ " y= " + mE.getY());
}
public static void main () // Главная функция
{
MainClass mC= new MainClass ();
mC.setSize (new Dimension (400, 200));
mC.setTitle ("Hello");
mC.show ();
mC.addMouseListener(mC);
}
}
///////////////
// Java и J# Вариант 3
import java.awt.*;
import java.awt.event.*;
// Класс прикладного окна
public class MainClass extends Frame implements MouseListener
{
public MainClass ()
{
this.setSize (new Dimension (400, 200));
this.setTitle ("Hello");
this.addMouseListener (this);
}
// Предопределённые обработчики интерфейса MouseListener мыши
public void mouseClicked (MouseEvent mE){}
public void mouseEntered (MouseEvent mE){}
public void mouseExited (MouseEvent mE){}
public void mouseReleased (MouseEvent mE){}
// Выполнить предопределённый обработчик mousePressed мыши
|
|
|
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!