package ballroom; import java.awt.*; import java.applet.*; import java.awt.event.*; // Tells the applet you will be using the MouseMotionListenermethods. public class MouseMotionExample extends Applet implements MouseMotionListener { // The X-coordinate and Y-coordinate ofthe last Mouse Position. int xpos; int ypos; int rect1xco,rect1yco,rect1width,rect1height; // wll be true when the Mouse is in theRectangle boolean rect1Active; public void init() { rect1xco = 20; rect1yco = 20; rect1width =100; rect1height= 50; // Add the MouseMotionListener to yourapplet addMouseMotionListener(this); } public void paint(Graphics g) { // Rectangle's color // If mouse is in the rectangle then setColor to green // else to red. if (rect1Active)g.setColor(Color.green); else g.setColor(Color.red); g.fillRect(rect1xco,rect1yco,rect1width,rect1height); g.setColor(Color.blue); // This will show the coordinates of themouse // at the place of the mouse. g.drawString("("+xpos+","+ypos+")",xpos,ypos); } /* If you use MouseMotionListener then these methodshave to be here public void mouseMoved(MouseEvent me); public void mouseDragged(MouseEvent me); */ // This will be excuted whenever the mousemoves in the applet public void mouseMoved(MouseEvent me) { xpos = me.getX(); ypos = me.getY(); // Check if the mouse is in the rectangle if (xpos > rect1xco&& xpos < rect1xco+rect1width && ypos > rect1yco && ypos < rect1yco+rect1height) rect1Active = true; else rect1Active = false; //show the results of the motion repaint(); } // This is works like mouseMoved but onlywhen the mouse is being pressed // at the same time. // To use this for drawing rectangles likein Paint programs // you will have to use mousePressed toremember the first coordinates. public void mouseDragged(MouseEvent me) { } /* It's quite easy, but this isn't a good exampleof programming. You can notice that the applet flickers, thisis because it is not double-buffered You will see this later. */ }