/** * MousePanel provides the user with a simplified paint program. * * @author Devin Gray * @version April 15, 2016 */ import java.util.ArrayList; import javax.swing.JPanel; import java.awt.Graphics; import java.awt.Color; import java.awt.Dimension; import java.awt.event.MouseMotionListener; import java.awt.event.MouseEvent; public class MousePanel extends JPanel implements MouseMotionListener { private ArrayList points; MousePanel() { setBackground(Color.CYAN); addMouseMotionListener(this); points = new ArrayList(); } public void mouseMoved (MouseEvent evt) { int x = evt.getX(); int y = evt.getY(); points.add(new Dimension(x,y)); repaint(); } public void mouseDragged (MouseEvent evt) { /* int x = evt.getX(); int y = evt.getY(); points.add(new Dimension(x,y)); repaint(); */ } public void paintComponent (Graphics g) { int x; int y; Dimension previous = null; super.paintComponent(g); for (Dimension d: points) { x = (int) d.getWidth(); y = (int) d.getHeight(); if(previous != null) { //draw line int x1 = (int) previous.getWidth(); int y1 = (int) previous.getHeight(); g.drawLine(x1, y1, x, y); g.drawOval(x, y, 10, 10); } previous = d; //g.drawLine(x - 15, y, x + 15, y); //g.drawLine(x, y - 5, x, y + 5); g.drawOval(x, y, 10, 10); } } }