Event Handling
Download
Report
Transcript Event Handling
Agenda
• Introduction.
• Event Model.
• Creating GUI Application.
• Event Examples.
Introduction
Event-Driven Programming
• In Procedural programming :
Code is executed in procedural order.
• In event-driven programming :
Code is executed upon activation of events.
7-4
What’s Event
• Event is a type of signal to tell the program that
something has happened.
• Event is generated by
External user actions such as mouse movements, mouse
clicks, and keystrokes .
Operating system, such as a timer.
7-5
Event Source
• The component on which an event is fired is called:
Source object or source component.
• Examples
A button is the source object for a button-clicking event.
A ComboBox it the source object for selecting an item.
7-6
Event Object
• All event information are stored in object called Event
object.
• Information examples :
Source of event.
Time when event occurred.
7-7
Event Object Classes
7-8
Event Object Examples
7-9
Event Model
Delegation Event Model
• Model used by Java to handle user interaction with
GUI components.
• Describes how your program can respond to user
interaction.
7 - 11
Event Model Components
• Event model contains three important players:
Event Source.
Event Listener/Handler.
Event Object
7 - 12
Event Source
• Event source GUI component that generates the event
• Examples: Button , TextField and ComboBox.
7 - 13
Event Listener/Handler
• Receives and handles events.
• Contains business logic.
• Examples:
Computing the summation of two numbers.
Computing the maximum of two numbers.
Displaying information useful to the user.
7 - 14
Listener Methods
7 - 15
Event Object
• Created when an event occurs - user interacts with a
GUI component.
• Contains all necessary information about the event
that has occurred.
Type of event that has occurred.
Source of the event.
Time when event occurred.
• Represented by an Event class.
7 - 16
Registration
• A listener should be registered with a source.
• Once registered, listener waits until an event occurs.
• When an event occurs:
An event object created by the event source.
Event object is fired by the event source to the registered
listeners.
Method of event listener is called with an event object as a
parameter(Business logic).
7 - 17
Registration cont.
• Once the listener receives an event object from the
source:
Understand the event.
Processes the event that occurred.
Note
Event source can be registered to one or more listener.
7 - 18
Delegation Model Flow
Event Source
1- Source Register
Listener
2- Fire an Event
Object
Event Listener
3- Reacts to
the Event
7 - 19
Creating GUI Application
GUI Example
• To create A GUI Application with event handling
1.
2.
3.
Create a GUI.
Create Listener.
Register listener with the source.
7 - 21
1- Create GUI
• In this step we create the GUI and adding all needed
components.
• The GUI Describes and displays the appearance of the
application.
7 - 22
2- Create Listener
• Listener is a class implementing the appropriate
listener interface.
Override all methods of the appropriate listener interface.
Describe in each method how you would like the event to be
handled.
May give empty implementations for methods you don't
need.
7 - 23
2- Create Listener cont.
7 - 24
3- Registeration
• Register the listener object with the event source.
The object is an instantiation of the listener class in step 2
Use the add<Type>Listener method of the event source.
• Example:
JButton b =new JButton(“ADD”);
b.addActionListener(listener);
7 - 25
Event Examples
Action Event
• An action event occurs when the user :
Clicks a button.
Chooses a menu item.
Presses Enter in a text field .
java.awt.event.ActionEvent
+getActionCommand( ) : String
+getSource( ) : Object
+getWhen( ) : long
7 - 27
Handling Action Event
• Java provides a listener interface ActionListener to
handle action events.
• You must override actionPerformed (ActionEvent e)
method.
7 - 28
Item Event
• An action event occurs when the user :
Check a Checkbox, RadioButton, menu items.
Select a ComboBox .
java.awt.event.ItemEvent
+getSource( ) : Object
+getWhen( ) : long
+getStateChange( ) : int
7 - 29
Handling Item Event
• Java provides a listener interface ItemListener to
handle Item events.
• You must override itemStateChanged (ItemEvent e)
method.
7 - 30
Mouse Event
• An action event occurs when the user uses the mouse
to interact with a component.
java.awt.event.MouseEvent
+getWhen( ) : long
+getClickCount( ) : int
+getX( ) : int
+getY( ) : int
+getButton( ) : int
7 - 31
Handling Mouse Event
• Java provides two listener interfaces, MouseListener
and MouseMotionListener to handle mouse events.
• The MouseMotionListener listens for actions such as
dragging or moving the mouse.
java.awt.event.MouseMotionListener
+mouseDragged (e : MouseEvent ) : void
+mouseMoved (e : MouseEvent ) : void
7 - 32
Handling Mouse Event
• The MouseListener listens for actions such as when
the mouse is pressed, released, entered, exited, or
clicked.
java.awt.event.MouseListener
+mousePressed (e : MouseEvent ) : void
+mouseReleased (e : MouseEvent ) : void
+mouseClicked (e : MouseEvent ) : void
+mouseEntered (e : MouseEvent ) : void
+mouseExit (e : MouseEvent ) : void
7 - 33
Focus Event
• An action event occurs when the Component :
Gain focus.
Lose focus.
java.awt.event.FocusEvent
+getSource() : Object
7 - 34
Handling Focus Event
• Java provides a listener interface ItemListener to
handle Item events.
• You must override focusLost (focusEvent e) and
focusGained (focusEvent e) methods.
7 - 35
Key Event
• An action event occurs when the user is typing on
keyboard.
• Keys
KeyEvent.VK_Home for home.
KeyEvent.VK_1 for 1.
KeyEvent.VK_H for h etc.. .
java.awt.event.KeyEvent
+getKeyChar( ) : char
+getKeyCode( ) : int
7 - 36
Handling Key Event
• Java provides a listener interface KeyListener to
handle Item events.
• The KeyListener listens for actions such as when the
key is pressed, released, or typed.
java.awt.event.KeyListener
+keyPressed (e : KeyEvent ) : void
+keyReleased (e : KeyEvent ) : void
+keyTyped (e : KeyEvent ) : void
7 - 37
Questions
Thanks