I'm having a lot of trouble with this one program and I was wondering if anyone could tell me what I'm doing wrong... Here's the prompt: Implement a class Cloud that contains an array list of Point2D.Double objects. Support methods
public void add(Point2D.Double aPoint)
public void draw (Graphics2D g2)
Draw each point as a tiny circle. Write a graphical application that draws a cloud of 100 random points.
Here's what I have, but it won't actually do anything, I'm just really confused and I could use any help!
Cloud.java:
import java.awt.*;
import java.util.*;
import java.awt.geom.Point2D;
import java.awt.geom.Ellipse2D;
public class Cloud {
public void draw(Graphics2D g)
{
Random rand = new Random();
Graphics2D g2 = (Graphics2D) g;
for (int i=0;i<=20;i++)
{
this.add(new Point2D.Double(rand.nextInt(400)+1,rand.nextInt(300)+1));
}
for (int i=0; i<list.size();i++)
{
Ellipse2D.Double circle = new Ellipse2D.Double(list.get(i).getX()-5,list.get(i).getY()-5, 10, 10);
g2.draw(circle);
}
}
public void add(Point2D.Double aPoint)
{
list.add(aPoint);
}
private ArrayList<Point2D.Double> list = new ArrayList<Point2D.Double>();
}
CloudTest.java:
import java.applet.Applet;
import java.awt.*;
import java.awt.geom.Point2D;
import java.util.*;
public class CloudTest extends Applet
{
public void paint(Graphics2D g)
{
Graphics2D g1 = (Graphics2D) g;
Cloud myCloud = new Cloud();
myCloud.draw(g1);
}
}