1. UNIVERSITY OF LUCKNOW
LUCKNOW
MASTER OF COMPUTER APPLICATION
Presentation on Event
Handling in JAVA
SUBMITTED BY: -
SRAJAN SHUKLA
MASTER OF COMPUTER APPLICATION
MCA(4TH SEM.)
2. Introduction
An event can be defined as a signal to the program that something has
happened.
Events are triggered either by external user actions, such as mouse
movements, button clicks, and keystrokes, or by internal program
activities, such as a timer.
The program can choose to respond to or ignore an event.
The component that creates an event and fires it is called the source
object or source component.
An event is an instance of an event class.
The root class of the event classes is java.util.EventObject.
We can identify the source object of an event using the getSource()
method in the EventObject class.
The subclasses of EventObject deal with special types of events, such
as action events, window events, component events, mouse events,
and key events.
3. The Delegation Event Model
The delegation event model defines standard and consistent
mechanisms to generate and process events.
Principle:
A source generates an event and sends it to one or more listeners.
The listener waits until it receives an event.
Once an event is received, the listener processes the event and then
returns.
Advantage:
The application logic that processes events is cleanly separated
from the user interface logic that generates those events.
A user interface element is able to “delegate” the processing of an
event to a separate piece of code.
In the delegation event model, listeners must register with a source
in order to receive an event notification.
4. Event
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.
For Example, 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.
5. Event Source
An Event 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.
public void addTypeListener(TypeListener el)
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.
public void addTypeListener(TypeListener el) throws
java.util.TooManyListenersException
6. Event Listener
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.
7. Action Listener
Action listeners are most common event handlers to implement.
An action event occurs, whenever an action is performed by the user.
We implement an action listener to define what should be done when
an user performs certain operation.
Examples: When the user clicks a button, chooses a menu item,
presses Enter in a text field.
The result is that an actionPerformed message is sent to all action
listeners that are registered on the relevant component.
8. To write an Action Listener, follow the steps given below
Declare an event handler class and specify that the class either
implements an ActionListener interface or extends a class that
implements an ActionListener interface.
For example:
public class MyClass implements ActionListener {
Register an instance of the event handler class as a listener on one or
more components.
For example:
someComponent.addActionListener(instanceOfMyClass);
Include code that implements the methods in listener interface.
For example:
public void actionPerformed(ActionEvent e)
{ ...//code that reacts to the action... }
9. Action Event Class
Method Purpose
String getActionCommand() Returns the string associated with this
action. Most objects that can fire action
events support a method called
setActionCommand that lets you set
this string.
Object getSource() Returns the object that fired the event.
10. Item Listener Interface
Item events are fired by components that implement the
ItemSelectable interface.
Generally, ItemSelectable components maintain on/off state for one or
more items.
The Swing components that fire item events include buttons like
check boxes, check menu items, toggle buttons and combo boxes etc.
ItemListener Interface has only one method.
public void itemStateChanged (ItemEvent)
11. Item Event class
Method Purpose
Object getItem() Returns the component-specific object
associated with the item whose state
changed. Often this is a String
containing the text on the selected
item.
ItemSelectable getItemSelectable()
Returns the component that fired the
item event. You can use this instead of
the getSource method.
int getStateChange()
Returns the new state of the item. The
ItemEvent class defines two states:
SELECTED and DESELECTED.
12. Key Listener Interface
Key events indicate when the user is typing at the keyboard.
Key events are fired by the component with the keyboard focus when
the user presses or releases keyboard keys.
Notifications are sent about two basic kinds of key events:
The typing of a Unicode character
The pressing or releasing of a key on the keyboard
The first kind of event is called a key-typed event.
To know when the user types a Unicode character ? whether by pressing one
key such as 'a' or by pressing several keys in sequence ?
The second kind is either a key-pressed or key-released event.
To know when the user presses the F1 key, or whether the user pressed the '3'
key on the number pad, you handle key-pressed events.
13. Methods of Key Listener Interface
Method Purpose
keyTyped(KeyEvent) Called just after the user types a
Unicode character into the listened-
to component.
keyPressed(KeyEvent) Called just after the user presses a
key while the listened-to
component has the focus.
keyReleased(KeyEvent) Called just after the user releases a
key while the listened-to
component has the focus.
14. Key Event class
Method Purpose
char getKeyChar()
Obtains the Unicode character associated
with this event.
int getKeyCode()
Obtains the key code associated with this
event. The key code identifies the
particular key on the keyboard that the user
pressed or released. For example, VK_A
specifies the key labeled A, and
VK_ESCAPE specifies the Escape key.
boolean isActionKey()
Returns true if the key firing the event is an
action key. Examples of action keys
include Page Up, Caps Lock, the arrow and
function keys.
15. Mouse Listener Interface
Mouse events notify when the user uses the mouse (or similar input
device) to interact with a component.
Mouse events occur when the cursor enters or exits a component's
onscreen area and when the user presses or releases one of the mouse
buttons.
16. Methods of Mouse Listener Interface
Method Purpose
mouseClicked(MouseEvent) Called just after the user clicks the
listened-to component.
mouseEntered(MouseEvent) Called just after the cursor enters the
bounds of the listened-to component.
mouseExited(MouseEvent) Called just after the cursor exits the
bounds of the listened-to component.
mousePressed(MouseEvent) Called just after the user presses a
mouse button while the cursor is over
the listened-to component.
mouseReleased(MouseEvent) Called just after the user releases a
mouse button after a mouse press over
the listened-to component.
17. Mouse Event class
Method Purpose
int getClickCount()
Returns the number of quick, consecutive
clicks the user has made (including this
event). For example, returns 2 for a double
click.
int getButton()
Returns which mouse button, if any, has a
changed state. One of the following
constants is returned: NOBUTTON,
BUTTON1, BUTTON2, or BUTTON3.
int getX()
int getY()
Return the (x,y) position at which the event
occurred, relative to the component that
fired the event.
18. Window Listener Interface
The listener interface for receiving window events.
The class that is interested in processing a window event either
implements this interface (and all the methods it contains) or
extends the abstract WindowAdapter class (overriding only the
methods of interest).
The listener object created from that class is then registered with
a Window using the window's addWindowListener () method.
19. Methods of Window Listener
Method Purpose
void windowClosing
(WindowEvent e)
Invoked when the user attempts to close the
window from the window's system menu.
void windowOpened
(WindowEvent e)
Invoked the first time a window is made visible.
void windowClosed
(WindowEvent e)
Invoked when a window has been closed as the
result of calling dispose on the window.
void windowIconified
(WindowEvent e)
Invoked when a window is changed from a
normal to a minimized state.
void windowDeiconified(W
indowEvent e)
Invoked when a window is changed from a
minimized to a normal state.
void windowActivated
(WindowEvent e)
Invoked when the Window is set to be the active
Window.
void windowDeactivated(
WindowEvent e)
Invoked when a Window is no longer the active
Window.