home *** CD-ROM | disk | FTP | other *** search
/ Java by Example / jbecd.bin / JBE-CD / NTUsers / JBECODE.ZIP / JavaByExample / chap25 / MouseApplet4.java < prev   
Text File  |  1996-03-12  |  2KB  |  76 lines

  1. import java.awt.*;
  2. import java.applet.*;
  3.  
  4. public class MouseApplet4 extends Applet
  5. {
  6.     Point startPoint;
  7.     Point points[];
  8.     int numPoints;
  9.     boolean drawing;
  10.     boolean painting;
  11.  
  12.     public void init()
  13.     {
  14.         startPoint = new Point(0, 0);
  15.         points = new Point[1000];
  16.         numPoints = 0;
  17.         drawing = false;
  18.         painting = false;
  19.         resize(400, 300);
  20.     }
  21.  
  22.     public void paint(Graphics g)
  23.     {
  24.         if (painting)
  25.         {
  26.             painting = false;
  27.             int oldX = startPoint.x;
  28.             int oldY = startPoint.y;
  29.  
  30.             for (int x=0; x<numPoints; ++x)
  31.             {
  32.                 g.drawLine(oldX, oldY, points[x].x, points[x].y);
  33.                 oldX = points[x].x;
  34.                 oldY = points[x].y;
  35.             }
  36.         }
  37.     }
  38.  
  39.     public boolean mouseDown(Event evt, int x, int y)
  40.     {
  41.         drawing = true;
  42.         startPoint.x = x;
  43.         startPoint.y = y;
  44.         return true;
  45.     }
  46.  
  47.     public boolean mouseMove(Event evt, int x, int y)
  48.     {
  49.         if ((drawing) && (numPoints < 1000))
  50.         {
  51.             points[numPoints] = new Point(x, y);
  52.             ++numPoints;
  53.         }
  54.  
  55.         return true;
  56.     }
  57.  
  58.     public boolean keyDown(Event evt, int key)
  59.     {
  60.         if (key == Event.F2)
  61.         {
  62.             painting = true;
  63.             repaint();
  64.         }
  65.         else if (key == Event.F3)
  66.         {
  67.             painting = true;
  68.             drawing = false;
  69.             numPoints = 0;
  70.             repaint();
  71.         }
  72.  
  73.         return true;
  74.     }
  75. }
  76.