SlideShare a Scribd company logo
Programming in Java
Event Handling
Outlines
• Delegation Event Model
• ActionListener
• ItemListener
• KeyListener
• MouseListener
• MouseMotionListener
• WindowListener
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.
• For example, a button is the source object for a button-clicking action
event.
Introduction
• 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.
Delegation Event Model
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.
• This provides an important benefit: notifications are sent only to
listeners that want to receive them.
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.
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
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.
Listener Interfaces
Listener API Table
Listener Interface Listener Methods
ActionListener actionPerformed(ActionEvent)
ItemListener itemStateChanged(ItemEvent)
MouseListener
mouseClicked(MouseEvent)
mouseEntered(MouseEvent)
mouseExited(MouseEvent)
mousePressed(MouseEvent)
mouseReleased(MouseEvent)
MouseMotionListener mouseDragged(MouseEvent)
mouseMoved(MouseEvent)
KeyListener
keyPressed(KeyEvent)
keyReleased(KeyEvent)
keyTyped(KeyEvent)
ActionListener
• 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.
• 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... }
ActionEvent 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.
ItemListener 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)
ItemEvent 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.
KeyListener 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.
Methods of KeyListener 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.
KeyEvent 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.
MouseListener 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.
Methods of MouseListener 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.
MouseEvent 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.
MouseAdapter Class
• MouseAdapter class provides an empty implementation of all the
methods in MouseListener interface. This class exists as convenience
for creating listener objects.
• Extend this class to create a MouseEvent listener and override the
methods for the events of interest.
• Create a listener object using the extended class and then register it
with a component using the component's addMouseListener method.
• When a mouse button is pressed, released, or clicked (pressed and
released), or when the mouse cursor enters or exits the component,
the relevant method in the listener object is invoked and the
MouseEvent is passed to it.
MouseMotionListener Interface
• Mouse-motion events notify when the user uses the mouse (or a
similar input device) to move the onscreen cursor.
• If an application requires the detection of both mouse events and
mouse-motion events, use the MouseInputAdapter class.
• It implements the MouseInputListener a convenient interface that
implements both the MouseListener and MouseMotionListener
interfaces.
Methods of MouseMotionListener Interface
Method Purpose
mouseDragged(MouseEvent)
Called in response to the user moving
the mouse while holding a mouse
button down. This event is fired by the
component that fired the most recent
mouse-pressed event, even if the
cursor is no longer over that
component.
mouseMoved(MouseEvent)
Called in response to the user moving
the mouse with no mouse buttons
pressed. This event is fired by the
component that's currently under the
cursor.
WindowListener 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.
Methods of WindowListener
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.
tL20 event handling

More Related Content

What's hot

Notification android
Notification androidNotification android
Notification android
ksheerod shri toshniwal
 
Algorithms, Union Find
Algorithms, Union FindAlgorithms, Union Find
Algorithms, Union Find
Nikita Shpilevoy
 
Business Analysis, Query Tools, Dm unit-3
Business Analysis, Query Tools, Dm unit-3Business Analysis, Query Tools, Dm unit-3
Business Analysis, Query Tools, Dm unit-3
Dr. Sunil Kr. Pandey
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
Javier Antonio Humarán Peñuñuri
 
software design principles
software design principlessoftware design principles
software design principles
Cristal Ngo
 
Problem solving agents
Problem solving agentsProblem solving agents
Problem solving agents
Megha Sharma
 
XML, DTD & XSD Overview
XML, DTD & XSD OverviewXML, DTD & XSD Overview
XML, DTD & XSD Overview
Pradeep Rapolu
 
Object diagram
Object diagramObject diagram
Object diagram
Preeti Mishra
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
saurabhshertukde
 
Case Study Research in Software Engineering
Case Study Research in Software EngineeringCase Study Research in Software Engineering
Case Study Research in Software Engineering
alessio_ferrari
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
Kumar
 
Heuristic Search Techniques Unit -II.ppt
Heuristic Search Techniques Unit -II.pptHeuristic Search Techniques Unit -II.ppt
Heuristic Search Techniques Unit -II.ppt
karthikaparthasarath
 
I. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHMI. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHM
vikas dhakane
 
Map reduce in BIG DATA
Map reduce in BIG DATAMap reduce in BIG DATA
Map reduce in BIG DATA
GauravBiswas9
 
Event handling
Event handlingEvent handling
Event handling
Anand Grewal
 
Enterprise application development
Enterprise application developmentEnterprise application development
Enterprise application development
colleges
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
Taha Malampatti
 
Ch 04 asp.net application
Ch 04 asp.net application Ch 04 asp.net application
Ch 04 asp.net application
Madhuri Kavade
 
Ajax ppt
Ajax pptAjax ppt
1.2 steps and functionalities
1.2 steps and functionalities1.2 steps and functionalities
1.2 steps and functionalities
Krish_ver2
 

What's hot (20)

Notification android
Notification androidNotification android
Notification android
 
Algorithms, Union Find
Algorithms, Union FindAlgorithms, Union Find
Algorithms, Union Find
 
Business Analysis, Query Tools, Dm unit-3
Business Analysis, Query Tools, Dm unit-3Business Analysis, Query Tools, Dm unit-3
Business Analysis, Query Tools, Dm unit-3
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
 
software design principles
software design principlessoftware design principles
software design principles
 
Problem solving agents
Problem solving agentsProblem solving agents
Problem solving agents
 
XML, DTD & XSD Overview
XML, DTD & XSD OverviewXML, DTD & XSD Overview
XML, DTD & XSD Overview
 
Object diagram
Object diagramObject diagram
Object diagram
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Case Study Research in Software Engineering
Case Study Research in Software EngineeringCase Study Research in Software Engineering
Case Study Research in Software Engineering
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Heuristic Search Techniques Unit -II.ppt
Heuristic Search Techniques Unit -II.pptHeuristic Search Techniques Unit -II.ppt
Heuristic Search Techniques Unit -II.ppt
 
I. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHMI. AO* SEARCH ALGORITHM
I. AO* SEARCH ALGORITHM
 
Map reduce in BIG DATA
Map reduce in BIG DATAMap reduce in BIG DATA
Map reduce in BIG DATA
 
Event handling
Event handlingEvent handling
Event handling
 
Enterprise application development
Enterprise application developmentEnterprise application development
Enterprise application development
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
 
Ch 04 asp.net application
Ch 04 asp.net application Ch 04 asp.net application
Ch 04 asp.net application
 
Ajax ppt
Ajax pptAjax ppt
Ajax ppt
 
1.2 steps and functionalities
1.2 steps and functionalities1.2 steps and functionalities
1.2 steps and functionalities
 

Viewers also liked

Event Handling in java
Event Handling in javaEvent Handling in java
Event Handling in java
Google
 
Java Event Handling
Java Event HandlingJava Event Handling
Java Event Handling
Shraddha
 
Event Handling in Java
Event Handling in JavaEvent Handling in Java
Event Handling in Java
Ayesha Kanwal
 
Java programming-Event Handling
Java programming-Event HandlingJava programming-Event Handling
Java programming-Event Handling
Java Programming
 
Java session11
Java session11Java session11
Java session11
Niit Care
 
Java lab-manual
Java lab-manualJava lab-manual
Java lab-manual
Khurshid Asghar
 
Java lab 2
Java lab 2Java lab 2
Java Lab Manual
Java Lab ManualJava Lab Manual
Java Lab Manual
Naveen Sagayaselvaraj
 
66781291 java-lab-manual
66781291 java-lab-manual66781291 java-lab-manual
66781291 java-lab-manual
Laura Popovici
 
Java awt
Java awtJava awt
Java awt
Arati Gadgil
 
Awt
AwtAwt

Viewers also liked (11)

Event Handling in java
Event Handling in javaEvent Handling in java
Event Handling in java
 
Java Event Handling
Java Event HandlingJava Event Handling
Java Event Handling
 
Event Handling in Java
Event Handling in JavaEvent Handling in Java
Event Handling in Java
 
Java programming-Event Handling
Java programming-Event HandlingJava programming-Event Handling
Java programming-Event Handling
 
Java session11
Java session11Java session11
Java session11
 
Java lab-manual
Java lab-manualJava lab-manual
Java lab-manual
 
Java lab 2
Java lab 2Java lab 2
Java lab 2
 
Java Lab Manual
Java Lab ManualJava Lab Manual
Java Lab Manual
 
66781291 java-lab-manual
66781291 java-lab-manual66781291 java-lab-manual
66781291 java-lab-manual
 
Java awt
Java awtJava awt
Java awt
 
Awt
AwtAwt
Awt
 

Similar to tL20 event handling

Event Handling in JAVA
Event Handling in JAVAEvent Handling in JAVA
Event Handling in JAVA
Srajan Shukla
 
JAVA PROGRAMMING- GUI Programming with Swing - The Swing Buttons
JAVA PROGRAMMING- GUI Programming with Swing - The Swing ButtonsJAVA PROGRAMMING- GUI Programming with Swing - The Swing Buttons
JAVA PROGRAMMING- GUI Programming with Swing - The Swing Buttons
Jyothishmathi Institute of Technology and Science Karimnagar
 
Event handling
Event handlingEvent handling
Event handling
swapnac12
 
Module 5.pptx
Module 5.pptxModule 5.pptx
Module 5.pptx
VeenaNaik23
 
What is Event
What is EventWhat is Event
What is Event
Asmita Prasad
 
Ajp notes-chapter-03
Ajp notes-chapter-03Ajp notes-chapter-03
Ajp notes-chapter-03
Ankit Dubey
 
event-handling.pptx
event-handling.pptxevent-handling.pptx
event-handling.pptx
usvirat1805
 
Module3.11.pptx
Module3.11.pptxModule3.11.pptx
Module3.11.pptx
VeenaNaik23
 
Events1
Events1Events1
Events1
Nuha Noor
 
File Handling
File HandlingFile Handling
File Handling
Sohanur63
 
Unit 6 Java
Unit 6 JavaUnit 6 Java
Unit 6 Java
arnold 7490
 
Event handling in Java(part 1)
Event handling in Java(part 1)Event handling in Java(part 1)
Event handling in Java(part 1)
RAJITHARAMACHANDRAN1
 
Event handling
Event handlingEvent handling
Event handling
Event handlingEvent handling
Event handling
Ravi_Kant_Sahu
 
Event handling
Event handlingEvent handling
Event handling
Ravi Kant Sahu
 
AJP key event class.pptx
AJP key event class.pptxAJP key event class.pptx
AJP key event class.pptx
komalpatil707727
 
09events
09events09events
09events
Waheed Warraich
 
Dr Jammi Ashok - Introduction to Java Material (OOPs)
 Dr Jammi Ashok - Introduction to Java Material (OOPs) Dr Jammi Ashok - Introduction to Java Material (OOPs)
Dr Jammi Ashok - Introduction to Java Material (OOPs)
jammiashok123
 
Chap - 2 - Event Handling.pptx
Chap - 2 - Event Handling.pptxChap - 2 - Event Handling.pptx
Chap - 2 - Event Handling.pptx
TadeseBeyene
 
Unit-3 event handling
Unit-3 event handlingUnit-3 event handling
Unit-3 event handling
Amol Gaikwad
 

Similar to tL20 event handling (20)

Event Handling in JAVA
Event Handling in JAVAEvent Handling in JAVA
Event Handling in JAVA
 
JAVA PROGRAMMING- GUI Programming with Swing - The Swing Buttons
JAVA PROGRAMMING- GUI Programming with Swing - The Swing ButtonsJAVA PROGRAMMING- GUI Programming with Swing - The Swing Buttons
JAVA PROGRAMMING- GUI Programming with Swing - The Swing Buttons
 
Event handling
Event handlingEvent handling
Event handling
 
Module 5.pptx
Module 5.pptxModule 5.pptx
Module 5.pptx
 
What is Event
What is EventWhat is Event
What is Event
 
Ajp notes-chapter-03
Ajp notes-chapter-03Ajp notes-chapter-03
Ajp notes-chapter-03
 
event-handling.pptx
event-handling.pptxevent-handling.pptx
event-handling.pptx
 
Module3.11.pptx
Module3.11.pptxModule3.11.pptx
Module3.11.pptx
 
Events1
Events1Events1
Events1
 
File Handling
File HandlingFile Handling
File Handling
 
Unit 6 Java
Unit 6 JavaUnit 6 Java
Unit 6 Java
 
Event handling in Java(part 1)
Event handling in Java(part 1)Event handling in Java(part 1)
Event handling in Java(part 1)
 
Event handling
Event handlingEvent handling
Event handling
 
Event handling
Event handlingEvent handling
Event handling
 
Event handling
Event handlingEvent handling
Event handling
 
AJP key event class.pptx
AJP key event class.pptxAJP key event class.pptx
AJP key event class.pptx
 
09events
09events09events
09events
 
Dr Jammi Ashok - Introduction to Java Material (OOPs)
 Dr Jammi Ashok - Introduction to Java Material (OOPs) Dr Jammi Ashok - Introduction to Java Material (OOPs)
Dr Jammi Ashok - Introduction to Java Material (OOPs)
 
Chap - 2 - Event Handling.pptx
Chap - 2 - Event Handling.pptxChap - 2 - Event Handling.pptx
Chap - 2 - Event Handling.pptx
 
Unit-3 event handling
Unit-3 event handlingUnit-3 event handling
Unit-3 event handling
 

More from teach4uin

Controls
ControlsControls
Controls
teach4uin
 
validation
validationvalidation
validation
teach4uin
 
validation
validationvalidation
validation
teach4uin
 
Master pages
Master pagesMaster pages
Master pages
teach4uin
 
.Net framework
.Net framework.Net framework
.Net framework
teach4uin
 
Scripting languages
Scripting languagesScripting languages
Scripting languages
teach4uin
 
Css1
Css1Css1
Css1
teach4uin
 
Code model
Code modelCode model
Code model
teach4uin
 
Asp db
Asp dbAsp db
Asp db
teach4uin
 
State management
State managementState management
State management
teach4uin
 
security configuration
security configurationsecurity configuration
security configuration
teach4uin
 
static dynamic html tags
 static dynamic html tags static dynamic html tags
static dynamic html tags
teach4uin
 
static dynamic html tags
static dynamic html tagsstatic dynamic html tags
static dynamic html tags
teach4uin
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentation
teach4uin
 
.Net overview
.Net overview.Net overview
.Net overview
teach4uin
 
Stdlib functions lesson
Stdlib functions lessonStdlib functions lesson
Stdlib functions lesson
teach4uin
 
enums
enumsenums
enums
teach4uin
 
memory
memorymemory
memory
teach4uin
 
array
arrayarray
array
teach4uin
 
storage clas
storage classtorage clas
storage clas
teach4uin
 

More from teach4uin (20)

Controls
ControlsControls
Controls
 
validation
validationvalidation
validation
 
validation
validationvalidation
validation
 
Master pages
Master pagesMaster pages
Master pages
 
.Net framework
.Net framework.Net framework
.Net framework
 
Scripting languages
Scripting languagesScripting languages
Scripting languages
 
Css1
Css1Css1
Css1
 
Code model
Code modelCode model
Code model
 
Asp db
Asp dbAsp db
Asp db
 
State management
State managementState management
State management
 
security configuration
security configurationsecurity configuration
security configuration
 
static dynamic html tags
 static dynamic html tags static dynamic html tags
static dynamic html tags
 
static dynamic html tags
static dynamic html tagsstatic dynamic html tags
static dynamic html tags
 
New microsoft office power point presentation
New microsoft office power point presentationNew microsoft office power point presentation
New microsoft office power point presentation
 
.Net overview
.Net overview.Net overview
.Net overview
 
Stdlib functions lesson
Stdlib functions lessonStdlib functions lesson
Stdlib functions lesson
 
enums
enumsenums
enums
 
memory
memorymemory
memory
 
array
arrayarray
array
 
storage clas
storage classtorage clas
storage clas
 

Recently uploaded

How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...
DianaGray10
 
Tailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer InsightsTailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer Insights
SynapseIndia
 
Intel Unveils Core Ultra 200V Lunar chip .pdf
Intel Unveils Core Ultra 200V Lunar chip .pdfIntel Unveils Core Ultra 200V Lunar chip .pdf
Intel Unveils Core Ultra 200V Lunar chip .pdf
Tech Guru
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
Zilliz
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
AmandaCheung15
 
Integrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecaseIntegrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecase
shyamraj55
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
ldtexsolbl
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
Matthias Neugebauer
 
LeadMagnet IQ Review: Unlock the Secret to Effortless Traffic and Leads.pdf
LeadMagnet IQ Review:  Unlock the Secret to Effortless Traffic and Leads.pdfLeadMagnet IQ Review:  Unlock the Secret to Effortless Traffic and Leads.pdf
LeadMagnet IQ Review: Unlock the Secret to Effortless Traffic and Leads.pdf
SelfMade bd
 
Retrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with RagasRetrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with Ragas
Zilliz
 
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
AimanAthambawa1
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
SAI KAILASH R
 
Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024
siddu769252
 
Perth MuleSoft Meetup July 2024
Perth MuleSoft Meetup July 2024Perth MuleSoft Meetup July 2024
Perth MuleSoft Meetup July 2024
Michael Price
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
alexjohnson7307
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
Jimmy Lai
 
It's your unstructured data: How to get your GenAI app to production (and spe...
It's your unstructured data: How to get your GenAI app to production (and spe...It's your unstructured data: How to get your GenAI app to production (and spe...
It's your unstructured data: How to get your GenAI app to production (and spe...
Zilliz
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
Keynote : AI & Future Of Offensive Security
Keynote : AI & Future Of Offensive SecurityKeynote : AI & Future Of Offensive Security
Keynote : AI & Future Of Offensive Security
Priyanka Aash
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
David Wilson
 

Recently uploaded (20)

How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...
 
Tailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer InsightsTailored CRM Software Development for Enhanced Customer Insights
Tailored CRM Software Development for Enhanced Customer Insights
 
Intel Unveils Core Ultra 200V Lunar chip .pdf
Intel Unveils Core Ultra 200V Lunar chip .pdfIntel Unveils Core Ultra 200V Lunar chip .pdf
Intel Unveils Core Ultra 200V Lunar chip .pdf
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
 
Integrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecaseIntegrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecase
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
 
LeadMagnet IQ Review: Unlock the Secret to Effortless Traffic and Leads.pdf
LeadMagnet IQ Review:  Unlock the Secret to Effortless Traffic and Leads.pdfLeadMagnet IQ Review:  Unlock the Secret to Effortless Traffic and Leads.pdf
LeadMagnet IQ Review: Unlock the Secret to Effortless Traffic and Leads.pdf
 
Retrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with RagasRetrieval Augmented Generation Evaluation with Ragas
Retrieval Augmented Generation Evaluation with Ragas
 
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
COVID-19 and the Level of Cloud Computing Adoption: A Study of Sri Lankan Inf...
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
 
Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024Generative AI Reasoning Tech Talk - July 2024
Generative AI Reasoning Tech Talk - July 2024
 
Perth MuleSoft Meetup July 2024
Perth MuleSoft Meetup July 2024Perth MuleSoft Meetup July 2024
Perth MuleSoft Meetup July 2024
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
 
It's your unstructured data: How to get your GenAI app to production (and spe...
It's your unstructured data: How to get your GenAI app to production (and spe...It's your unstructured data: How to get your GenAI app to production (and spe...
It's your unstructured data: How to get your GenAI app to production (and spe...
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
Keynote : AI & Future Of Offensive Security
Keynote : AI & Future Of Offensive SecurityKeynote : AI & Future Of Offensive Security
Keynote : AI & Future Of Offensive Security
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
 

tL20 event handling

  • 2. Outlines • Delegation Event Model • ActionListener • ItemListener • KeyListener • MouseListener • MouseMotionListener • WindowListener
  • 3. 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. • For example, a button is the source object for a button-clicking action event.
  • 4. Introduction • 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.
  • 6. 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.
  • 7. • 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.
  • 8. 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.
  • 9. 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)
  • 10. • 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
  • 11. 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.
  • 13. Listener API Table Listener Interface Listener Methods ActionListener actionPerformed(ActionEvent) ItemListener itemStateChanged(ItemEvent) MouseListener mouseClicked(MouseEvent) mouseEntered(MouseEvent) mouseExited(MouseEvent) mousePressed(MouseEvent) mouseReleased(MouseEvent) MouseMotionListener mouseDragged(MouseEvent) mouseMoved(MouseEvent) KeyListener keyPressed(KeyEvent) keyReleased(KeyEvent) keyTyped(KeyEvent)
  • 14. ActionListener • 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.
  • 15. • 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... }
  • 16. ActionEvent 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.
  • 17. ItemListener 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)
  • 18. ItemEvent 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.
  • 19. KeyListener 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
  • 20. • 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.
  • 21. Methods of KeyListener 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.
  • 22. KeyEvent 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.
  • 23. MouseListener 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.
  • 24. Methods of MouseListener 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.
  • 25. MouseEvent 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.
  • 26. MouseAdapter Class • MouseAdapter class provides an empty implementation of all the methods in MouseListener interface. This class exists as convenience for creating listener objects. • Extend this class to create a MouseEvent listener and override the methods for the events of interest. • Create a listener object using the extended class and then register it with a component using the component's addMouseListener method. • When a mouse button is pressed, released, or clicked (pressed and released), or when the mouse cursor enters or exits the component, the relevant method in the listener object is invoked and the MouseEvent is passed to it.
  • 27. MouseMotionListener Interface • Mouse-motion events notify when the user uses the mouse (or a similar input device) to move the onscreen cursor. • If an application requires the detection of both mouse events and mouse-motion events, use the MouseInputAdapter class. • It implements the MouseInputListener a convenient interface that implements both the MouseListener and MouseMotionListener interfaces.
  • 28. Methods of MouseMotionListener Interface Method Purpose mouseDragged(MouseEvent) Called in response to the user moving the mouse while holding a mouse button down. This event is fired by the component that fired the most recent mouse-pressed event, even if the cursor is no longer over that component. mouseMoved(MouseEvent) Called in response to the user moving the mouse with no mouse buttons pressed. This event is fired by the component that's currently under the cursor.
  • 29. WindowListener 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.
  • 30. Methods of WindowListener 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.