import javax.swing.*; import javax.swing.filechooser.FileNameExtensionFilter; import java.awt.*; 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 { PrintWriter affichage = new PrintWriter(new FileWriter("GrilleNumero1.txt")); for (int i = 0; i < GRID_SIZE; i++) { for (int j = 0; j < GRID_SIZE; j++) { String value = grid[i][j].getText().isEmpty() ? "0" : grid[i][j].getText(); affichage.print(value); } affichage.println(); } affichage.close(); 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(); } } }