Ajout de la sauvegarde dans un fichier de la grille

This commit is contained in:
2024-04-27 18:02:41 +02:00
parent 0d00f7eb1d
commit e65b88de00

View File

@@ -1,6 +1,7 @@
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
import java.io.*;
public class SudokuGrid extends JFrame { public class SudokuGrid extends JFrame {
private static final int GRID_SIZE = 9; // Taille de la grille Sudoku 9x9 private static final int GRID_SIZE = 9; // Taille de la grille Sudoku 9x9
@@ -23,14 +24,51 @@ public class SudokuGrid extends JFrame {
} }
// Panneau pour les boutons // Panneau pour les boutons
JPanel buttonPanel = new JPanel(); JPanel bouton = new JPanel();
buttonPanel.setBackground(new Color(0, 255, 0)); // Fond vert bouton.setBackground(new Color(0, 255, 0)); // Fond vert
buttonPanel.setPreferredSize(new Dimension(100, 0)); // Espace pour les bouton bouton.setPreferredSize(new Dimension(100, 0)); // Espace pour les bouton
// Bouton pour sauvegarder la grille
JButton save = new JButton("Sauvegarder");
save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (GrilleValide()) {
saveFichier();
} else {
JOptionPane.showMessageDialog(null, "La grille n'est pas valide.", "Erreur", JOptionPane.ERROR_MESSAGE);
}
}
});
bouton.add(save);
// Ajout des panneaux à la fenetre // Ajout des panneaux à la fenetre
getContentPane().add(gridPanel, BorderLayout.CENTER); getContentPane().add(gridPanel, BorderLayout.CENTER);
getContentPane().add(buttonPanel, BorderLayout.EAST); getContentPane().add(bouton, BorderLayout.EAST);
} }
// vérifier si la grille est valide (unicité)
private boolean GrilleValide() {
// à completer
return true;
}
// sauvegarder la grille en entier dans un texte
private 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();
}
}
} }