47 lines
1.3 KiB
Java
47 lines
1.3 KiB
Java
import javax.swing.*;
|
|
import java.awt.*;
|
|
|
|
public class Formes extends JComponent {
|
|
|
|
private String typeComposant;
|
|
|
|
public Formes(String typeComposant) {
|
|
super();
|
|
this.typeComposant = typeComposant;
|
|
}
|
|
|
|
@Override
|
|
protected void paintComponent(Graphics pinceau) {
|
|
// obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard
|
|
Graphics secondPinceau = pinceau.create();
|
|
// obligatoire : si le composant n'est pas censé être transparent
|
|
if (this.isOpaque()) {
|
|
// obligatoire : on repeint toute la surface avec la couleur de fond
|
|
secondPinceau.setColor(this.getBackground());
|
|
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
|
|
}
|
|
|
|
if (this.typeComposant == "Carre") {
|
|
secondPinceau.setColor(new Color(51,153,255));
|
|
secondPinceau.fillRect(0, 0, 50, 50);
|
|
secondPinceau.setColor(Color.BLUE);
|
|
secondPinceau.drawRect(0,0,50,50);
|
|
}
|
|
|
|
if (this.typeComposant == "Disque") {
|
|
// TODO
|
|
}
|
|
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
JFrame fenetre = new JFrame();
|
|
Formes test = new Formes("Carre");
|
|
// on configure la fenetre
|
|
fenetre.setSize(500, 500);
|
|
fenetre.setLocation(0, 0);
|
|
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
fenetre.add(test);
|
|
fenetre.setVisible(true);
|
|
}
|
|
} |