Dot Demo

<< Quicksort | LabTrailIndex | Day of Week >>

See a working example here

See a video introduction here (you'll need Quicktime installed or a mpeg4 player like VLC)

You need to make a Dot class to make this work

DotTester.java

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;

public class DotTester extends Applet implements MouseListener
{
	public static final int SIZE=10;
	/**
	 * Declaring a ArrayList of Dots to
	 * keep track of the Dots
	 */
	private ArrayList<Dot> dots;
	/**
	 * the init method is automatically
	 * called when we start an Applet
	 */
	public void init()
	{
		dots=new ArrayList<Dot>();	
		this.addMouseListener(this);
	}
	/**
	 * the paint method is automatically
	 * called when the screen needs to be updated
	 */
	 public void paint(Graphics g)
	 {
		 for(Dot dot:dots) 
			 dot.draw(g);
	}
	/**
	 * the following methods need to be implemented
	 * in order to deal with the MouseListener interface
	 * we will only use the mouseReleased method
	 */
	@Override
	public void mouseClicked(MouseEvent e) {}
	@Override
	public void mouseEntered(MouseEvent e) {}
	@Override
	public void mouseExited(MouseEvent e) {}
	@Override
	public void mousePressed(MouseEvent e) {}
	@Override
	public void mouseReleased(MouseEvent e) {
		// add a new dot
		dots.add(new Dot(e.getX(), e.getY(), SIZE ));
		repaint();
	}
}

Dot.java

import java.awt.Color;
import java.awt.Graphics;

public class Dot 
{
	/**
	 * declare attributes
	 */

        // your code here

	/**
	 * declare constructors
	 */
	        //your code here

	public void draw(Graphics g)
	{
		//your code here
	}
}

Now you try

  1. Make a overload constructor so you can construct a new Dot with a specified Color
  2. Make all the Dots red dots
  3. Make each Dot its own randomly chosen color