Files
DEV/DEV2.1/TP06/Cercles.java
Simoes Lukas 3891eea685 Fin du TP06
2025-02-20 21:10:02 +01:00

61 lines
1.6 KiB
Java

import java.awt.*;
import javax.swing.*;
public class Cercles extends JComponent {
private int r;
private int g;
private int b;
public Cercles(int r, int g, int b) {
super();
this.r = r;
this.g = g;
this.b = b;
}
@Override
public 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());
}
// Dessine un anneau (couleurs dans le constructeur)
secondPinceau.setColor(new Color(this.r, this.g, this.b));
secondPinceau.fillOval(0, 0, this.getWidth(), this.getHeight());
secondPinceau.setColor(Color.WHITE);
secondPinceau.fillOval(this.getWidth()/4, this.getHeight()/4, this.getWidth()/2, this.getHeight()/2);
}
public static void main(String[] args) {
JFrame fenetre = new JFrame();
fenetre.setSize(500,500);
fenetre.setLocation(100,100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridLayout layout = new GridLayout(5,5);
fenetre.setLayout(layout);
int[] couleur = {0, 60, 60};
for (int i = 0; i != 5; i++) {
for (int j = 0; j != 5; j++) {
couleur[1] -= 2;
couleur[2] += 32;
fenetre.add(new Cercles(couleur[0], couleur[1], couleur[2]));
}
couleur[1] += 10;
couleur[2] -= 160;
couleur[1] += 32;
couleur[2] -= 2;
}
fenetre.setVisible(true);
}
}