import java.applet.Applet;
import java.awt.Button;
import java.awt.Graphics;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
public class CirculoAnimadoApplet extends Applet 
   implements ActionListener,Runnable{
    private  Button arrancar,parar;
    private boolean animado=false;
    private int x,y;
    public void run() {
       while (true) {
          if (animado) {
            x++;y++; 
            repaint();  
          }
          try { Thread.sleep(500); } catch (Exception ex) {} 
       }
    }
    public void start() {
       System.out.println("start");
       Thread elThread = new Thread(this);
       elThread.start();
    }
    public void init() {
        System.out.println("init");
        arrancar = new Button("Arrancar");
        parar= new Button("Parar");
        add(arrancar); add(parar);
        arrancar.addActionListener(this); parar.addActionListener(this);
    } 
    public void actionPerformed(ActionEvent elEvento) {
       if (elEvento.getSource()==arrancar) { //iniciar animacion
          animado = true;
       } else if (elEvento.getSource()==parar) { //parar animacion
	  animado = false;
       }
       repaint();
   }
   public void paint(Graphics elGrafico) {
        if (animado) {
          elGrafico.setColor(Color.blue);
          elGrafico.fillOval(x,y,50,50); 
        }
   }
}