

import javax.swing.*;
import java.awt.*;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;

public class Polygone extends JPanel {
    private int[] x;
    private int[] y;

    public Polygone() {
        super();
        
        try {

            FileInputStream fis = new FileInputStream("./polygone.bin");
            DataInputStream b = new DataInputStream(fis);

            x = new int[b.available() / 8];
            y = new int[b.available() / 8];
            
            for (int i = 0; i < x.length; i++) {
                x[i] = b.readInt() * 2;
                y[i] = b.readInt() * 2;
                System.out.println(x[i] + ", " + y[i]);
            }

            b.close();
        } catch (IOException e) {
            System.out.println(e);
        }

        this.repaint();
    }

    @Override
    protected void paintComponent(Graphics g) {
        // obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard
        Graphics secondPinceau = g.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());
        }
        // maintenant on dessine ce que l'on veut
        secondPinceau.setColor(Color.BLACK);
        if (x != null) {
            secondPinceau.fillPolygon(x, y, x.length);
        }

    }
}