История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Топ:
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
|
из
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 мыши
|
|
|
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!