You are on page 1of 10

Chapter 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

Abstract 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, it is not possible to be a complete Java programmer without understanding the AWT

Java 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

Creating Mouse Click Listeners


1. Import the java.awt.event package 2. In the 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

Mouse 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) { } }

Finding Mouse Location


Inside mouseClicked the argument e of type MouseEvent can be used to find the location of the mouse cursor The call e.getX( ) returns the value of the horizontal coordinate of the mouse cursor position The call e.getY( ) returns the value of the vertical coordinate of the mouse cursor position

Creating Mouse Motion Listeners


1. Import the java.awt.event package 2. In the class header, add the words implements MouseMotionListener 3. Send the message addMouseMotionListerner(this) to the mouse event manager (should be done in the constructor method) 4. Define methods mouseMoved and mouseDragged

Mouse 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) { } }

Mouse 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

Listening 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