necesito ayuda en mi miniprograma

MARIO
07 de Abril del 2004
C脥RCULOS 1
Tienes que hacer un ciclo para mostrar con los botones las siguientes figuras.
SE TIENE QUE HACER CON CICLOS
Bot贸n de MARCO


Bot贸n de LLENO


Bot贸n de DISMINUYENDO












Bot贸n VERTICAL


Bot贸n HORIZONTAL






import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;

public class Circulos1 extends Applet implements ActionListener
{
Button bl,bd,bv,bh,bm;
Panel p;
int x, y=1, a=20, b=20;
public void init ()
{
bl = new Button ("Lleno");
bd = new Button ("Disminuyendo");
bv = new Button ("Vertical");
bh = new Button ("Horizontal");
bm = new Button ("Marco");
p = new Panel ();
p.add(bl);
p.add(bd);
p.add(bv);
p.add(bh);
p.add(bm);
add(p);
bl.addActionListener (this);
bd.addActionListener (this);
bv.addActionListener (this);
bh.addActionListener (this);
bm.addActionListener (this);
}
public void paint(Graphics f)
{
for (int i=1; i<=10; i++)
{
x=1;
for (int j=1; j<=10; j++)
{
f.drawOval(x,y,a,b);
x=x+a;
}
y=y+b;
}
}
public void paint(Graphics d)
{
int x, y, a=20, b=20;
for (int i=1; i<=10; i++)
{
x=1;
y=1;
for (int j=1; j<=1; j++)
{
d.drawOval(x,y,a,b);
x=x+a;
}
}
for (int i=1; i<=1; i++)
{
x=1;
y=1+b;
for (int j=1; j<=2; j++)
{
d.drawOval(x,y,a,b);
x=x+a;
}
}
for (int i=1; i<=1; i++)
{
x=1;
y=1+(b*2);
for (int j=1; j<=3; j++)
{
d.drawOval(x,y,a,b);
x=x+a;
}
}
for (int i=1; i<=1; i++)
{
x=1;
y=1+(b*3);
for (int j=1; j<=4; j++)
{
d.drawOval(x,y,a,b);
x=x+a;
}
}
for (int i=1; i<=1; i++)
{
x=1;
y=1+(b*4);
for (int j=1; j<=5; j++)
{
d.drawOval(x,y,a,b);
x=x+a;
}
}
for (int i=1; i<=1; i++)
{
x=1;
y=1+(b*5);
for (int j=1; j<=6; j++)
{
d.drawOval(x,y,a,b);
x=x+a;
}
}
for (int i=1; i<=1; i++)
{
x=1;
y=1+(b*6);
for (int j=1; j<=7; j++)
{
d.drawOval(x,y,a,b);
x=x+a;
}
}
for (int i=1; i<=1; i++)
{
x=1;
y=1+(b*7);
for (int j=1; j<=8; j++)
{
d.drawOval(x,y,a,b);
x=x+a;
}
}
for (int i=1; i<=1; i++)
{
x=1;
y=1+(b*8);
for (int j=1; j<=9; j++)
{
d.drawOval(x,y,a,b);
x=x+a;
}
}
for (int i=1; i<=1; i++)
{
x=1;
y=1+(b*9);
for (int j=1; j<=10; j++)
{
d.drawOval(x,y,a,b);
x=x+a;
}
}
}
public void paint(Graphics v)
{
int x, y=1, a=20, b=20;
for (int i=1; i<=1; i++)
{
x=1+(a*4);
for (int j=1; j<=10; j++)
{
v.drawOval(x,y,a,b);
x=x;
y=y+b;
}
}
}
public void paint(Graphics h)
{
int x, y, a=20, b=20;
for (int i=1; i<=1; i++)
{
y=1+(a*4);
x=1;
for (int j=1; j<=10; j++)
{
h.drawOval(x,y,a,b);
x=x+a;
y=y;
}
}
}
public void paint(Graphics m)
{
int x, y, a=20, b=20;
for (int i=1; i<=1; i++)
{
y=1;
x=1;
for (int j=1; j<=10; j++)
{
m.drawOval(x,y,a,b);
x=x+a;
y=y;
}
}
for (int i=1; i<=1; i++)
{
y=1+b;
x=1;
for (int j=1; j<=9; j++)
{
m.drawOval(x,y,a,b);
x=x;
y=y+b;
}
}
for (int i=1; i<=1; i++)
{
y=1+b;
x=1+(a*9);
for (int j=1; j<=9; j++)
{
m.drawOval(x,y,a,b);
x=x;
y=y+b;
}
}
for (int i=1; i<=1; i++)
{
y=1+(b*9);
x=1;
for (int j=1; j<=10; j++)
{
m.drawOval(x,y,a,b);
x=x+a;
y=y;
}
}
}
public void actionPerformed (ActionEvent e)
{
if (e.getSource () == bl)
paint(f);
if (e.getSource () == bd)
paint(d);
if (e.getSource () == bv)
paint(v);
if (e.getSource () == bh)
paint(h);
if (e.getSource () == bm)
paint(m);
}
}

¿como lo hecho andar?