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(); } } }