- #1
FritoTaco
- 132
- 23
Hello,
I have this program where you run the JApplet and it makes circles at random. When you click the "Generate" button, it makes another set of random circles. The problem is, it overlaps the previous set of circles. I want the program to get rid of the previous set and I can't figure out how to do it. Thank you for your help.
I have this program where you run the JApplet and it makes circles at random. When you click the "Generate" button, it makes another set of random circles. The problem is, it overlaps the previous set of circles. I want the program to get rid of the previous set and I can't figure out how to do it. Thank you for your help.
Java:
import java.awt.*;
import javax.swing.*;
import java.applet.Applet;
import java.net.URL;
import java.awt.event.*;
public class MilkyWay extends JApplet implements ActionListener
{
Button Button1;
public void init() {
setLayout( new FlowLayout( ) );
// New button
Button1 = new Button("Generate");
// add button in japplet
add(Button1);
// listens for the button
Button1.addActionListener(this);
}
public void drawCircle(Graphics g, int x, int y, int radi) {
// draws a circle at x,y of radius r
int red, green, blue;
// choose random colors from rgb
red = (int) (Math.random() * 256);
green = (int) (Math.random() * 256);
blue = (int) (Math.random() * 256);
// set the foreground color
g.setColor(new Color(red, green, blue));
// draws the Oval
g.fillOval(x, y, 2*radi, 2*radi);
} // end of drawCircle
public void paint( Graphics g ) {
int x1, y1, radi;
for (int i=0; i < 100; i++) {
// displays circles in x/y coordinate boundaries
x1 = (int) (Math.random()*800);
y1 = (int) (Math.random()*800);
// math choose random radius
radi = 5 + (int)(Math.random()*35);
// draw the circle
drawCircle(g, x1, y1, radi);
}
}
public void actionPerformed(ActionEvent e) {
//repaint
if (e.getSource() == Button1)
repaint();
}
}