home *** CD-ROM | disk | FTP | other *** search
/ Java by Example / jbecd.bin / JBE-CD / NTUsers / JBECODE.ZIP / JavaByExample / chap25 / MouseApplet2.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-03-08  |  1.1 KB  |  50 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 MouseApplet2 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 mouseDown(Event var1, int var2, int var3) {
  34.       this.drawing = true;
  35.       this.startPoint.x = var2;
  36.       this.startPoint.y = var3;
  37.       return true;
  38.    }
  39.  
  40.    public boolean mouseMove(Event var1, int var2, int var3) {
  41.       if (this.drawing && this.numPoints < 1000) {
  42.          this.points[this.numPoints] = new Point(var2, var3);
  43.          ++this.numPoints;
  44.          ((Component)this).repaint();
  45.       }
  46.  
  47.       return true;
  48.    }
  49. }
  50.