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

JAVA Session11

The document discusses Java event handling and summarizes: 1) It will teach how to define events and event handling, identify the appropriate listener interface for different event types, and create event handler methods. 2) Events are objects that describe what happened, event sources generate events, and event handlers process user interactions by receiving event objects. 3) The delegation model allows event handlers to register with components to receive events, and components only trigger handlers for the event type that occurred.

Uploaded by

Rohit Chaudhary
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPS, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views

JAVA Session11

The document discusses Java event handling and summarizes: 1) It will teach how to define events and event handling, identify the appropriate listener interface for different event types, and create event handler methods. 2) Events are objects that describe what happened, event sources generate events, and event handlers process user interactions by receiving event objects. 3) The delegation model allows event handlers to register with components to receive events, and components only trigger handlers for the event type that occurred.

Uploaded by

Rohit Chaudhary
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPS, PDF, TXT or read online on Scribd
You are on page 1/ 26

Java Programming Language

Objectives

In this session, you will learn to:


Define events and event handling
Determine the user action that originated the event from the
event object details
Identify the appropriate listener interface for a variety of event
types
Create the appropriate event handler methods for a variety of
event types
Understand the use of inner classes and anonymous classes in
event handling
Identify the key AWT components and the events they trigger
Describe how to create menu, menu bar, menu items and how
to control visual aspects

Ver. 1.0 Session 11 Slide 1 of 26


Java Programming Language
Events

Events: Objects that describe what happened


Event sources: The generator of an event
Event handlers: A method that receives an event object,
deciphers it, and processes the user’s interaction.

Ver. 1.0 Session 11 Slide 2 of 26


Java Programming Language
Delegation Model of Event

An event can be sent to many event handlers.


Event handlers register with components when they are
interested in events generated by that component.

Ver. 1.0 Session 11 Slide 3 of 26


Java Programming Language
Delegation Model of Event (Contd.)

Client objects (handlers) register with a GUI component that


they want to observe.
GUI components only trigger the handlers for the type of
event that has occurred.
Most components can trigger more than one type of event.
The delegation model distributes the work among multiple
classes.

Ver. 1.0 Session 11 Slide 4 of 26


Java Programming Language
A Listener Example

This code snippet shows a simple Frame with a single button on


it, class name is TestButton:
public TestButton()
{
f = new Frame("Test");
b = new Button("Press Me!");
b.setActionCommand("ButtonPressed");
}
public void launchFrame()
{
b.addActionListener(new ButtonHandler());
f.add(b,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}

Ver. 1.0 Session 11 Slide 5 of 26


Java Programming Language
A Listener Example (Contd.)

Code for the event listener looks like this:


import java.awt.event.*;
public class ButtonHandler implements
ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Action occurred");
System.out.println("Button’s command is:
"+ e.getActionCommand());
}
}
The event is delegated to ButtonHandler class.

Ver. 1.0 Session 11 Slide 6 of 26


Java Programming Language
Demonstration

Lets see how to use the Event handling API to handle simple
GUI events.

Ver. 1.0 Session 11 Slide 7 of 26


Java Programming Language
Event Categories

Class Hierarchy of GUI Events:

Ver. 1.0 Session 11 Slide 8 of 26


Java Programming Language
Listener Type

Some Events and Their Associated Event Listeners:

Act that Results in the Event Listener Type


User clicks a button, presses Enter while typing
ActionListener
in a text field, or chooses a menu item
User closes a frame (main window) WindowListener
User presses a mouse button while the cursor is
MouseListener
over a component
User moves the mouse over a component MouseMotionListener
Component becomes visible ComponentListener

Component gets the keyboard focus FocusListener

Ver. 1.0 Session 11 Slide 9 of 26


Java Programming Language
Listeners

ActionListener Interface:
Has only one method i.e.
actionPerformed(ActionEvent)
To detect when the user clicks an onscreen button (or does the
keyboard equivalent), a program must have an object that
implements the ActionListener interface.
The program must register this object as an action listener on
the button (the event source), using the
addActionListener() method.
When the user clicks the onscreen button, the button fires an
action event.

Ver. 1.0 Session 11 Slide 10 of 26


Java Programming Language
Listeners (Contd.)

MouseListener interface:
To detect the mouse clicking, a program must have an object
that implements the MouseListener interface.
This interface includes several events including
mouseEntered, mouseExited, mousePressed,
mouseReleased, and mouseClicked.
When the user clicks the onscreen button, the button fires an
action event.

Ver. 1.0 Session 11 Slide 11 of 26


Java Programming Language
Listeners (Contd.)

Implementing Multiple Interfaces:


A class can be declared with Multiple Interfaces by using
comma separation:
Implements MouseListener,MouseMotionListener
Listening to Multiple Sources:
Multiple listeners cause unrelated parts of a program to react
to the same event.
The handlers of all registered listeners are called when the
event occurs.

Ver. 1.0 Session 11 Slide 12 of 26


Java Programming Language
Event Adapters

The listener classes that you define can extend adapter


classes and override only the methods that you need.
An example is:
import java.awt.*;
import java.awt.event.*;
public class MouseClickHandler extends
MouseAdapter
{
//We just need the mouseClick handler,
so //we use an adapter to avoid having
to //write all the event handler methods

Ver. 1.0 Session 11 Slide 13 of 26


Java Programming Language
Event Adapters (Contd.)

public void mouseClicked(MouseEvent e)


{
// Do stuff with the mouse click...
}
}

Ver. 1.0 Session 11 Slide 14 of 26


Java Programming Language
Inner Classes

Event Handling Using Inner Classes:


Using inner classes for event handles gives access to the
private data of the outer class.

Ver. 1.0 Session 11 Slide 15 of 26


Java Programming Language
MenuBar

Frames can contain a menu bar, a menu bar can contain


zero or more menus, and menu can contain zero or more
menu items (including submenus).
Let’s see how to do this.

Ver. 1.0 Session 11 Slide 16 of 26


Java Programming Language
Creating a MenuBar

Create a MenuBar object, and set it into a menu container,


such as a Frame. For example:
Frame f = new Frame("MenuBar");
MenuBar mb = new MenuBar();
f.setMenuBar(mb);

Ver. 1.0 Session 11 Slide 17 of 26


Java Programming Language
Creating a Menu

Create one or more Menu objects, and add them to the


menu bar object. For example:
Frame f = new Frame("Menu");
MenuBar mb = new MenuBar();
Menu m1 = new Menu("File");
Menu m2 = new Menu("Edit");
Menu m3 = new Menu("Help");
mb.add(m1);
mb.add(m2);
mb.setHelpMenu(m3);
f.setMenuBar(mb);

Ver. 1.0 Session 11 Slide 18 of 26


Java Programming Language
Creating a MenuItem

Create one or more MenuItem objects, and add them to the


menu object. For example:
MenuItem mi1 = new MenuItem("New");
MenuItem mi2 = new MenuItem("Save");
MenuItem mi3 = new MenuItem("Load");
MenuItem mi4 = new MenuItem("Quit");
mi1.addActionListener(this);
mi2.addActionListener(this);
mi3.addActionListener(this);
mi4.addActionListener(this);
m1.add(mi1);
m1.add(mi2);

Ver. 1.0 Session 11 Slide 19 of 26


Java Programming Language
Creating a MenuItem (Contd.)

m1.add(mi3);
m1.addSeparator();
m1.add(mi4);
Let’ see how MenuItem will look like.

Ver. 1.0 Session 11 Slide 20 of 26


Java Programming Language
Demonstration

Lets see how to add a menu and other GUI components to a


AWT application.

Ver. 1.0 Session 11 Slide 21 of 26


Java Programming Language
Creating a CheckBoxMenuItem

Creating a CheckBoxMenuItem:
CheckboxMenuItem mi5 =
newCheckboxMenuItem("Persistent");
mi5.addItemListener(this);
m1.add(mi5);

Ver. 1.0 Session 11 Slide 22 of 26


Java Programming Language
Controlling Visual Aspects

Commands to control visual aspects of the GUI include:


Colors:
setForeground()
setBackground()
Example:
Color purple = new Color(255, 0, 255);
Button b = new Button(“Purple”);
b.setBackground(purple);

Ver. 1.0 Session 11 Slide 23 of 26


Java Programming Language
J.F.C./Swing Technology

Java Foundation Class/Swing (J.F.C./Swing) technology is


a second-generation GUI toolkit.
It builds on top of AWT, but supplants the components with
lightweight versions.
There are many more components, and much more
complex components, including JTable, JTree, and
JComboBox.

Ver. 1.0 Session 11 Slide 24 of 26


Java Programming Language
Summary

In this session, you learned that:


When user perform some action, for example, button click or
mouse move then the program performs some action which is
called event.
Events can be handled by implementing appropriate Listener
Interface.
Most components can trigger more than one type of event.
The delegation model distributes the work among multiple
classes.
ActionListener Interface:
When the user clicks an onscreen button (or does the keyboard
equivalent), a program must have an object that implements the
ActionListener interface.
MouseListener Interface:
To detect the mouse clicking, a program must have an object that
implements the MouseListener interface.

Ver. 1.0 Session 11 Slide 25 of 26


Java Programming Language
Summary (Contd.)

A class can be declared with multiple interfaces by using


comma separation.
Event Adapter classes can be used in place of implementing
listener, if you need to implement only one method.
Manubar can be created by creating a MenuBar class object,
and set it into a menu container, such as a Frame.
Menu class object is used to create menu, and add them to the
MenuBar object.
MenuItems can be created by creating one or more MenuItem
class objects, and add them to the menu object.
Checked menuitems can be created by using
CheckboxMenuItem class object.
Colors can be set by creating the Color class object.

Ver. 1.0 Session 11 Slide 26 of 26

You might also like