SAE21_2024/SaveButton.java

67 lines
1.8 KiB
Java

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