0% found this document useful (0 votes)
6 views

7-event-handling

The document discusses event handling in graphical user interface (GUI) applications, emphasizing the delegation event model where events are generated by sources and processed by registered listeners. It details the types of events, sources, and listeners, including methods for registering and unregistering listeners for specific events. Examples illustrate the relationship between events, sources, and listeners, such as mouse events associated with buttons and their corresponding listener interfaces.

Uploaded by

Safrin Fathima.M
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

7-event-handling

The document discusses event handling in graphical user interface (GUI) applications, emphasizing the delegation event model where events are generated by sources and processed by registered listeners. It details the types of events, sources, and listeners, including methods for registering and unregistering listeners for specific events. Examples illustrate the relationship between events, sources, and listeners, such as mouse events associated with buttons and their corresponding listener interfaces.

Uploaded by

Safrin Fathima.M
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Event Handling

➢ Any program that uses a graphical user interface, such as a Java application written for
Windows, is event driven.
➢ Events are supported by a number of packages, including java.util, java.awt, and
java.awt.event.
➢ Most events to which your program will respond are generated when the user interacts
with a GUI-based program.
➢ These are the types of events examined in this chapter.
➢ They are passed to your program in a variety of ways, with the specific method
dependent upon the actual event.
➢ There are several types of events, including those generated by the mouse, the keyboard,
and various GUI controls, such as a push button, scroll bar, or check box.
The Delegation Event Model
➢ The modern approach to handling events is based on the delegation event model, which
defines standard and consistent mechanisms to generate and process events.
➢ A source generates an event and sends it to one or more listeners.
➢ The listener simply waits until it receives an event.
➢ Once an event is received, the listener processes the event and then returns.
➢ In the delegation event model, listeners must register with a source in order to receive an
event notification.
➢ This provides an important benefit: notifications are sent only to listeners that want to
receive them.
Events
➢ In the delegation model, an event is an object that describes a state change in a source.
➢ It can be generated as a consequence of a person interacting with the elements in a
graphical user interface.
➢ Some of the activities that cause events to be generated are pressing a button, entering a
character via the keyboard, selecting an item in a list, and clicking the mouse.
➢ Events may also occur that are not directly caused by interactions with a user interface.
➢ For example, an event may be generated when a timer expires, a counter exceeds a
value, a software or hardware failure occurs, or an operation is completed.
➢ You are free to define events that are appropriate for your application.
Event Sources
➢ A source is an object that generates an event.
➢ This occurs when the internal state of that object changes in some way.
➢ Sources may generate more than one type of event.
➢ A source must register listeners in order for the listeners to receive notifications about a
specific type of event.
➢ Each type of event has its own registration method. Here is the general form:

public void addTypeListener(TypeListener el)


➢ Here, Type is the name of the event, and el is a reference to the event listener.
➢ For example, the method that registers a keyboard event listener is called
addKeyListener( ).
➢ The method that registers a mouse motion listener is called addMouseMotionListener( ).
➢ When an event occurs, all registered listeners are notified and receive a copy of the event
object.
➢ This is known as multicasting the event.
➢ In all cases, notifications are sent only to listeners that register to receive them.
➢ Some sources may allow only one listener to register. The general form of such a method
is this:
public void addTypeListener(TypeListener el)
throws java.util.TooManyListenersException
➢ When such an event occurs, the registered listener is notified.
➢ This is known as unicasting the event.
➢ A source must also provide a method that allows a listener to unregister an interest in a
specific type of event.
➢ The general form of such a method is this:

public void removeTypeListener(TypeListener el)


➢ EX: To remove a keyboard listener, you would call removeKeyListener( ).
Event Listeners
➢ A listener is an object that is notified when an event occurs.
➢ It has two major requirements.
➢ First, it must have been registered with one or more sources to receive notifications about
specific types of events.
➢ Second, it must implement methods to receive and process these notifications.
➢ The methods that receive and process events are defined in a set of interfaces found in
java.awt.event.
➢ For example, the MouseMotionListener interface defines two methods to receive
notifications when the mouse is dragged or moved.
➢ Any object may receive and process one or both of these events if it provides an
implementation of this interface.
Example for Event, Event Source, Event Listeners
➢ Event : Mouse Event
➢ Event Source : Button
➢ Event Listeners : MouseListener, MouseMotionListener, MouseWheelListener
Event : Mouse Event

Event Source : Button


Event Listeners : MouseListener, MouseMotionListener, MouseWheelListener

You might also like