All pastes #745843 Raw Edit

Miscellany

public java v1 · immutable
·published 2007-10-22 18:50 UTC
rendered paste body
sketcher.javapackage sketcher;import java.awt.*;import java.awt.event.*;import java.util.Vector;public class Sketcher  extends Frame {    public SketchCanvas canvas;        public Vector<PointPair> points_;        public Sketcher() {        setSize(500,500);        setTitle("Sketch Pad");        canvas = new SketchCanvas();        add(canvas,"Center");    }    public static void main(String[] args) {        Sketcher frame = new Sketcher();        frame.points_ = new Vector<PointPair>();        WindowWatcher w = new WindowWatcher();        MouseWatcher mw = new MouseWatcher( frame.points_);        frame.canvas.addMouseListener(mw);        frame.canvas.addMouseMotionListener(mw);        frame.setVisible(true);        frame.addWindowListener(w);    }        public void repaint() {        Graphics g = this.canvas.getGraphics();        for(int i = 0;i <  points_.size();i++){            g.drawLine(points_.get(i).start.x, points_.get(i).start.y, points_.get(i).end.x, points_.get(i).end.y);        }        g.dispose();    }        public void paint() {        }        public void paint(Graphics g) {            }        public void repaint(Graphics g) {    }}sketchercanvas.javapackage sketcher;import java.awt.*;public class SketchCanvas extends Canvas {    public void repaint() {    }        public void paint() {        }        public void paint(Graphics g) {            }        public void repaint(Graphics g) {    }}mousewatcher.javapackage sketcher;import java.awt.*;import java.awt.event.*;import java.util.Vector;public class MouseWatcher extends MouseAdapter implements MouseMotionListener {    private Point currentPoint, oldPoint;        private Vector<PointPair> points_;        public MouseWatcher(Vector<PointPair> points) {        points_ = points;    }    public void mousePressed(MouseEvent e) {        oldPoint = e.getPoint();    }        public void mouseReleased(MouseEvent e) {            }        public void mouseDragged(MouseEvent e) {        currentPoint = e.getPoint();                Graphics g = ((Canvas)e.getSource()).getGraphics();                g.drawLine(oldPoint.x, oldPoint.y, currentPoint.x, currentPoint.y);                                points_.add(new PointPair(oldPoint, currentPoint));                oldPoint = currentPoint;        g.dispose();    }            public void mouseMoved(MouseEvent e) {}}windowwatcher.javapackage sketcher;import java.awt.*;import java.awt.event.*;public class WindowWatcher extends WindowAdapter {    public void windowClosing(WindowEvent e) {        System.exit(0);    }        public void windowDeactivated(WindowEvent e) {        e.getWindow().repaint();    }        public void windowActivated(WindowEvent e) {        e.getWindow().repaint();    }    }pointpair.javapackage sketcher;import java.awt.*;public class PointPair {    public Point start;    public Point end;        public PointPair(Point start_, Point end_){        start = start_;        end = end_;    }}