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?