Иллюстрированный самоучитель по Java
508 Resource Limit Is Reached

Resource Limit Is Reached

The website is temporarily unable to service your request as it exceeded resource limit. Please try again later.

Создание собственного события


Вы можете создать собственное событие и определить источник и условия его возникновения.

В листинге 12.6 приведен пример создания события MyEvent, любезно предоставленный Вячеславом Педаком.

Событие MyEvent говорит о начале работы программы (START) и окончании ее работы (STOP).

Листинг 12.6

, Создание собственного события

// 1. Создаем свой класс события:

public class MyEvent extends java.util.EventObjectf protected int id;

public static final int START = 0, STOP = 1; 

public MyEvent(Object source, int id){ 

super(source); 

this.id = id; 

}

public int getID(){ return id; } 

}

// 2. Описываем Listener:

508 Resource Limit Is Reached

Resource Limit Is Reached

The website is temporarily unable to service your request as it exceeded resource limit. Please try again later.

public interface MyListener extends java.util.EventListener{ 

public void start{MyEvent e);

public void stop(MyEvent e); }

// 3. В теле нужного класса создаем метод fireEvent(): 

protected Vector listeners = new Vector(); 

public void fireEvent( MyEvent e){

Vector list = (Vector) listeners.clone(); 

for (int i

=

0; i < list.sizeO; i++) {

MyListener listener = (MyListener)list.elementAt(i); 

switch(e.getlDO ) {

case MyEvent.START: listener.start(e); break; 

case MyEvent.STOP: listener.stop(e); break; 

}

Все, теперь при запуске программы делаем

fi reEvent(thi s, MyEvent.START);

а при окончании

fireEvent(this, MyEvent.STOP);

При этом все зарегистрированные слушатели получат экземпляры событий.



Содержание раздела

508 Resource Limit Is Reached

Resource Limit Is Reached

The website is temporarily unable to service your request as it exceeded resource limit. Please try again later.