/**
* AI: Francisco Lara-Dammer
* A solution to Lab 11
*/
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Dots extends java.applet.Applet
implements MouseListener{
Vector positionColor = new Vector(); //Stores position-colors
public void init() {
setBackground(Color.white);
this.addMouseListener(this);
}
void addDot(PointColor P) {
positionColor.addElement(P);
repaint();
}
public void paint(Graphics g) {
for (int cur = 0; cur < positionColor.size(); ++cur) {
g.setColor(((PointColor)(positionColor.elementAt(cur))).getColor());
g.fillOval((int) (((PointColor)(positionColor.elementAt(cur))).getX())-10,
(int) (((PointColor)(positionColor.elementAt(cur))).getY())-10,
20,20);
}
}
public void mouseClicked (MouseEvent e){
}
public void mousePressed (MouseEvent e){
}
public void mouseReleased(MouseEvent e){
PointColor P = new PointColor(e.getX(), e.getY(),
new Color((float)Math.random(),
(float)Math.random(),
(float)Math.random()));
this.addDot(P);
}
public void mouseEntered (MouseEvent e){
}
public void mouseExited (MouseEvent e){
}
}
/**
* Used to wrap a Point with a Color.
*/
class PointColor extends Point{
Color color;
PointColor(double x, double y, Color color){
super(x,y);
this.color = color;
}
Color getColor(){
return color;
}
}