Chapter 11 - Java AWT part I: Mouse events (Optional). In this chapter we will: introduce event driven programming, show how a program can respond to mouse events (e.g. clicks and mouse movements), demonstrate how to implement a listener interface, show how mouse events can be used to build highly interactive programs.
Trang 1Chapter 11
Java AWT Part |: Mouse Events
(Optional)
Lecture Slides to Accompany
An Introduction to Computer Science Using Java (2nd Edition)
by
S.N Kamin, D Mickunas, E Reingold
Trang 2Chapter Preview
In this chapter we will:
introduce event driven programming
show how a program can respond to mouse
events (e.g clicks and mouse movements)
demonstrate how to implement a listener
Interface
show how mouse events can be used to build
highly interactive programs
Trang 3Abstract Windowing Toolkit
(AWT)
¢ Part of the Java distribution, but not part of the Java language itself
¢ AWT Is library of classes and methods used
by Java programmers that supported are by the basic Java runtime libraries
¢ Even though this chapter is labeled optional, itis not possible to be a complete Java
programmer without understanding the AWT
Trang 4Java Events
Events are occurrences outside of the
program to which the program must respond (e.g user key press)
Event managers are methods that first catch the event
Listener classes send messages to an event manager requesting to be notified when a
particular message occurs
Event managers send messages to listeners notifying them when a particular event occurs
Trang 5Creating Mouse Click Listeners
1 Import the java.awt.event package
2 Inthe class header, add the words
implements MouseListener
3 Send the addMouseListerner(this)
message to the mouse event manager
(should be done in the constructor method)
4 Define methods mouseClicked,
mousePressed, mouseReleased,
mouseEntered, mouseExited
Trang 6Mouse Click Listener Template
import java.awt.event.*;
public class classname implements MouseListener {
// include manager addMouseListener(this);
// in some initialization method
public void mouseClicked (MouseEvent e) { } public void mousePressed (MouseEvent e) { } public void mouseReleased (MouseEvent e) { } public void mouseEntereded (MouseEvent e) { } public void mouseExited (MouseEvent e) { }
Trang 7Finding Mouse Location
¢ Inside mouseClicked the argument e of type
MouseE vent can be used to find the location
of the mouse cursor
¢ The calle.getX(_) returns the value of the
horizontal coordinate of the mouse cursor
position
¢ The calle.getY(_ ) returns the value of the
vertical coordinate of the mouse cursor
position
Trang 8Creating Mouse Motion Listeners
1
2
Import the java.awt.event package
In the class header, add the words
implements MouseMotionListener
Send the message
addMouseMotionListerner(this)
to the mouse event manager (should be
done in the constructor method)
Define methods mouseMoved and
mouseDragged
Trang 9Mouse Motion Listener Template
import java.awt.event.*;
public class classname implements MouseMotionListener {
// include manager addMouseListener(this);
// in some initialization method
public void mouseMoved (MouseEvent e) { }
public void mouseDragged (MouseEvent e) { }
Trang 10Mouse Motion
* mouseMoved will be called each time the
mouse makes a significantly large movement
* mouseDragged will be called instead if thre mouse button Is pressed and the mouse
makes a significantly large movement
Trang 11Listening to All Mouse Events
¢ Two catch all seven mouse events use the
following class header
public class classname implements
MouseListener, MouseMotionListener {
¢ You then need to define all seven mouse
methods mouseMoved, mouseDragged,
mouseClicked, mousePressed,
mouseReleased, mouseEntered,
mouseExited