October 1, 2003
Drawing Random Circles & Squares (Using Loops)
/*
Draws a circle
*/
import java.awt.*; import java.applet.Applet; import java.awt.event.*;
public class DrawCircle extends Applet implements ActionListener { Button drawButton; int radius = 20; int x, y; int red, green, blue; public void init() { x =10; y = 200; red = green = blue = 0; // Draw the GUI // Create the button drawButton = new Button("Draw"); // Add it to the applet add(drawButton); // Add a listener for it drawButton.addActionListener(this); }// init public void paint(Graphics g) { for (int i=0; i < 150; i = i + 3) { // pick a random color red = (int) (Math.random()*256); green = (int) (Math.random()*256); blue = (int) (Math.random()*256); // Assign random values to x, y, and radius // Ensure that x, y is within the bounds of the applet (400x400) x = (int) (Math.random()*400); y = (int) (Math.random()*400); radius = (int) (Math.random()*50); // set the drawing color to a random color g.setColor(new Color(red, green, blue)); drawCircle(g,x,y,radius); /* The following can be used instead to draw a moving circle x = x + i; if (x > 400) x = 10; y = 200; g.setColor(Color.black); drawCircle(g, x, y, 20); // slow down for (int j = 0; j < 5000000; j++) { } g.setColor(Color.white); drawCircle(g, x, y, 20); */ } } //paint // Listener for button public void actionPerformed(ActionEvent e) { repaint(); } // actionPerformed
private void drawCircle(Graphics g, int x, int y, int r) { // Draw a circle on g centered at x, y and radius, r g.fillOval(x-r, y-r, 2*r, 2*r); } // drawCircle } // DrawCircle