home *** CD-ROM | disk | FTP | other *** search
/ Java by Example / jbecd.bin / JBE-CD / NTUsers / JBECODE.ZIP / JavaByExample / chap25 / MouseApplet3.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-03-11  |  1.1 KB  |  54 lines

  1. import java.applet.Applet;
  2. import java.awt.Component;
  3. import java.awt.Event;
  4. import java.awt.Graphics;
  5. import java.awt.Point;
  6.  
  7. public class MouseApplet3 extends Applet {
  8.    Point startPoint;
  9.    Point[] points;
  10.    int numPoints;
  11.    boolean drawing;
  12.  
  13.    public void init() {
  14.       this.startPoint = new Point(0, 0);
  15.       this.points = new Point[1000];
  16.       this.numPoints = 0;
  17.       this.drawing = false;
  18.       ((Applet)this).resize(400, 300);
  19.    }
  20.  
  21.    public void paint(Graphics var1) {
  22.       int var2 = this.startPoint.x;
  23.       int var3 = this.startPoint.y;
  24.  
  25.       for(int var4 = 0; var4 < this.numPoints; ++var4) {
  26.          var1.drawLine(var2, var3, this.points[var4].x, this.points[var4].y);
  27.          var2 = this.points[var4].x;
  28.          var3 = this.points[var4].y;
  29.       }
  30.  
  31.    }
  32.  
  33.    public boolean handleEvent(Event var1) {
  34.       switch (var1.id) {
  35.          case 501:
  36.             this.drawing = true;
  37.             this.startPoint.x = var1.x;
  38.             this.startPoint.y = var1.y;
  39.             return true;
  40.          case 502:
  41.          default:
  42.             return false;
  43.          case 503:
  44.             if (this.drawing && this.numPoints < 1000) {
  45.                this.points[this.numPoints] = new Point(var1.x, var1.y);
  46.                ++this.numPoints;
  47.                ((Component)this).repaint();
  48.             }
  49.  
  50.             return true;
  51.       }
  52.    }
  53. }
  54.