50 lines
1.5 KiB
Java
50 lines
1.5 KiB
Java
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");
|
|
}
|
|
}
|
|
} |