Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Обработка событий элементов интерфейса пользователя в языке Java

2017-12-21 279
Обработка событий элементов интерфейса пользователя в языке Java 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

 

Пользователь, располагая прикладным окном, оперирует для связи с программой интерфейсными элементами, каждый из которых способен генерировать событие. К таким элементам относится уже используемая нами мышь, но также кнопки, флажки, списки с выбором, пункты меню, полосы прокрутки, клавиши клавиатуры, текстовые редакторы и прикладное окно, генерирующее события при изменении его размера, при его закрытии и др.

Эти элементы представляются в программе в виде объектов соответствующих классов, в которые встроен механизм делегирования, предполагающий применение определённых интерфейсов и предопределённых функций. Причём, ради простоты, не требуется наследовать класс события, соответствующего элементу, поскольку он запретил бы наследовать более значимый класс, определяющий основное функционирование объекта. Но обязательно надо наследовать некоторый интерфейс, предписанный для данного элемента.

Пакет 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 мыши


Поделиться с друзьями:

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...



© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.016 с.