home *** CD-ROM | disk | FTP | other *** search
/ Java by Example / jbecd.bin / JBE-CD / NTUsers / JBECODE.ZIP / JavaByExample / chap25 / MouseApplet4.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-03-12  |  1.3 KB  |  68 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 MouseApplet4 extends Applet {
  8.    Point startPoint;
  9.    Point[] points;
  10.    int numPoints;
  11.    boolean drawing;
  12.    boolean painting;
  13.  
  14.    public void init() {
  15.       this.startPoint = new Point(0, 0);
  16.       this.points = new Point[1000];
  17.       this.numPoints = 0;
  18.       this.drawing = false;
  19.       this.painting = false;
  20.       ((Applet)this).resize(400, 300);
  21.    }
  22.  
  23.    public void paint(Graphics var1) {
  24.       if (this.painting) {
  25.          this.painting = false;
  26.          int var2 = this.startPoint.x;
  27.          int var3 = this.startPoint.y;
  28.  
  29.          for(int var4 = 0; var4 < this.numPoints; ++var4) {
  30.             var1.drawLine(var2, var3, this.points[var4].x, this.points[var4].y);
  31.             var2 = this.points[var4].x;
  32.             var3 = this.points[var4].y;
  33.          }
  34.       }
  35.  
  36.    }
  37.  
  38.    public boolean mouseDown(Event var1, int var2, int var3) {
  39.       this.drawing = true;
  40.       this.startPoint.x = var2;
  41.       this.startPoint.y = var3;
  42.       return true;
  43.    }
  44.  
  45.    public boolean mouseMove(Event var1, int var2, int var3) {
  46.       if (this.drawing && this.numPoints < 1000) {
  47.          this.points[this.numPoints] = new Point(var2, var3);
  48.          ++this.numPoints;
  49.       }
  50.  
  51.       return true;
  52.    }
  53.  
  54.    public boolean keyDown(Event var1, int var2) {
  55.       if (var2 == 1009) {
  56.          this.painting = true;
  57.          ((Component)this).repaint();
  58.       } else if (var2 == 1010) {
  59.          this.painting = true;
  60.          this.drawing = false;
  61.          this.numPoints = 0;
  62.          ((Component)this).repaint();
  63.       }
  64.  
  65.       return true;
  66.    }
  67. }
  68.