import javax.swing.*;
import java.awt.event.*;
import java.io.*;

    


public class SaveButton implements ActionListener {

    private int GRID_SIZE;
    private JTextField[][] grid;

    public SaveButton(int GRID_SIZE, JTextField[][] grid ) {

	this.GRID_SIZE = GRID_SIZE;

	this.grid = grid;
    }

	
    @Override

    public void actionPerformed(ActionEvent e) {

	saveFichier();
   
    }


    private void saveFichier() {
        try {
            FileOutputStream fr = new FileOutputStream("Test1.gri");
            DataOutputStream fichier = new DataOutputStream(fr);
            JTextField[][] texte = grid;
            for (int i = 0; i < GRID_SIZE; i++) {
                StringBuilder build = new StringBuilder();
                for (int j = 0; j < GRID_SIZE; j++) {
                    String value = texte[i][j].getText();
                    if (value.isEmpty()) {
                        build.append("0");
                    } else {
                        build.append(value);
                    }
                }
                String convert = build.toString();
                int write = Integer.parseInt(convert);
                fichier.writeInt(write);
            }
            fichier.close();
            JOptionPane.showMessageDialog(null, "Grille sauvegardée avec succès.", "Succès", JOptionPane.INFORMATION_MESSAGE);
        } catch (IOException e) {
            JOptionPane.showMessageDialog(null, "Erreur lors de la sauvegarde de la grille.", "Erreur", JOptionPane.ERROR_MESSAGE);
            e.printStackTrace();
        }
    }
}