diff --git a/DEV2.1/TP06/Cercles.class b/DEV2.1/TP06/Cercles.class new file mode 100644 index 0000000..343a790 Binary files /dev/null and b/DEV2.1/TP06/Cercles.class differ diff --git a/DEV2.1/TP06/Cercles.java b/DEV2.1/TP06/Cercles.java new file mode 100644 index 0000000..7499091 --- /dev/null +++ b/DEV2.1/TP06/Cercles.java @@ -0,0 +1,61 @@ +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); + + + + } +} \ No newline at end of file