import java.awt.*;
import javax.swing.*;
 
public class Etoile implements ProducteurDePoints extends JComponent {
  private static final int xCentre = 100;
  private static final int yCentre = 100;
  private static final double rayon = 90.0;
  private static final double angleDepart = Math.PI/4.0;
  private static final double angleIncrement = (4.0*Math.PI)/5.0;
  private double numero;
  public Etoile() {
    this.numero = 0.0;
  }
  public Point suivant() {
    Point p = null;
    if (this.numero < 6.0) {
      double angle = Etoile.angleDepart+this.numero*Etoile.angleIncrement;
      p = new Point((int) (Etoile.rayon*Math.cos(angle)),
                    (int) (Etoile.rayon*Math.sin(angle)));
      p.translate(Etoile.xCentre, Etoile.yCentre);
      this.numero++;
    } else {
      this.numero = 0.0;
    }
    return p;
  }

  @Override
  public void paintComponent(Graphics pinceau) {
    Graphics secondPinceau = pinceau.create();
    if (this.isOpaque()) {
      secondPinceau.setColor(this.getBackground());
      secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
    }
    secondPinceau.drawRect();
  }

  public static void main(String[] args) {
    JFrame fenetre = new JFrame();
    fenetre.setSize(300, 300);
    fenetre.setLocation(100, 100);
    fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    fenetre.setVisible(true);
  	Etoile e = new Etoile();
  	while (e.suivant() != null) {
  		// TODO
  		System.out.println("Test");
  	} 
  }
}