Refonte du code (tabulation, disposition et commentaires)
This commit is contained in:
@@ -1,43 +1,45 @@
|
||||
/*
|
||||
La classe <code>SaveButton</code> est utilisée pour la sauvegarde de la grille au format .gri à l'aide d'un bouton.
|
||||
@version 1.1
|
||||
@author Thomas Follea, Yann Keraudren
|
||||
*/
|
||||
|
||||
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
|
||||
|
||||
// Lorsque l'utilisateur appuie sur le bouton, il exécute l'action saveFichier();
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
|
||||
saveFichier();
|
||||
|
||||
saveFichier();
|
||||
}
|
||||
|
||||
|
||||
private void saveFichier() {
|
||||
try {
|
||||
//Ouvre le fichier de sauvegarde
|
||||
FileOutputStream fr = new FileOutputStream("GrilleNum1.gri");
|
||||
DataOutputStream fichier = new DataOutputStream(fr);
|
||||
JTextField[][] texte = grid;
|
||||
|
||||
// Parcour la grille
|
||||
for (int i = 0; i < GRID_SIZE; i++) {
|
||||
StringBuilder build = new StringBuilder();
|
||||
for (int j = 0; j < GRID_SIZE; j++) {
|
||||
String value = texte[i][j].getText();
|
||||
|
||||
// Vérifier si la case contient plus d'un chiffre
|
||||
if (value.length() > 1) {
|
||||
// Afficher un message d'erreur et arrêter la sauvegarde
|
||||
JOptionPane.showMessageDialog(null, "Une case comporte plus d'un chiffre. Veuillez corriger avant de sauvegarder.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
try {
|
||||
fichier.close();
|
||||
@@ -46,25 +48,32 @@ public class SaveButton implements ActionListener {
|
||||
}
|
||||
return; // Arrêter la sauvegarde si une case comporte plus d'un chiffre
|
||||
}
|
||||
|
||||
// Si la case est vide, ajouter "0" à la chaine de caractères à sauvegarder
|
||||
if (value.isEmpty()) {
|
||||
build.append("0");
|
||||
} else {
|
||||
build.append(value);
|
||||
}
|
||||
}
|
||||
|
||||
// Convertir la chaine de caractères en entier et écrire dans le fichier
|
||||
String convert = build.toString();
|
||||
int write = Integer.parseInt(convert);
|
||||
fichier.writeInt(write);
|
||||
}
|
||||
|
||||
// Fermer le fichier après la sauvegarde
|
||||
try {
|
||||
fichier.close();
|
||||
} catch (IOException e) {
|
||||
System.err.println("Erreur de fermeture");
|
||||
}
|
||||
// Affiche un message de succès
|
||||
JOptionPane.showMessageDialog(null, "Grille sauvegardée avec succès.", "Succès", JOptionPane.INFORMATION_MESSAGE);
|
||||
} catch (IOException e) {
|
||||
// Affiche un message d'erreur
|
||||
JOptionPane.showMessageDialog(null, "Erreur lors de la sauvegarde de la grille.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user