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) {
	if (GrilleValide()) {
	    saveFichier();
	} else {
	    JOptionPane.showMessageDialog(null, "La grille n'est pas valide.", "Erreur", JOptionPane.ERROR_MESSAGE);
	}
    }

    //vérifier si la grille est valide 
    public boolean GrilleValide() {
        // à completer
        return true; 
    }

    public void saveFichier() {
        try {
            FileWriter fr = new FileWriter("GrilleNum1.txt");
            BufferedWriter fichier = new BufferedWriter(fr);
            for (int i = 0; i < GRID_SIZE; i++) {
                for (int j = 0; j < GRID_SIZE; j++) {
                    String value;
                    if (grid[i][j].getText().isEmpty()) {
                        value = "0";
                    } else {
                        value = grid[i][j].getText();
                    }
                    fichier.write(value);
                }
                fichier.newLine(); 
            }
            try {
            fichier.close();
            } catch (IOException e) {
                System.err.println("Erreur de fermeture");
            }
            JOptionPane.showMessageDialog(null, "Grille sauvegardé avec succès.", "Succes", JOptionPane.INFORMATION_MESSAGE);
        } catch (IOException e) {
            JOptionPane.showMessageDialog(null, "Erreur lors de la sauvegarde de la grille.", "Erreur", JOptionPane.ERROR_MESSAGE);
            e.printStackTrace();
        }
    }
}