diff --git a/LoadButton.java b/LoadButton.java index 593290f..30dd931 100644 --- a/LoadButton.java +++ b/LoadButton.java @@ -1,6 +1,5 @@ import javax.swing.*; import javax.swing.filechooser.FileNameExtensionFilter; -import java.awt.*; import java.awt.event.*; import java.io.*; @@ -8,6 +7,7 @@ public class LoadButton implements ActionListener { private int GRID_SIZE; private JTextField[][] grid; + private JFrame parent; public LoadButton( int GRID_SIZE, JTextField[][] grid) { @@ -22,33 +22,40 @@ public class LoadButton implements ActionListener { } - //charger une grille existante private void chargerFichier() { JFileChooser choix = new JFileChooser(System.getProperty("user.dir")); // ce placer dans le repertoire ou se situe le code pour JFIleChooser choix.setDialogTitle("Choisir un fichier"); choix.setFileFilter(new FileNameExtensionFilter("Fichiers texte", "txt")); - - int choixValide = choix.showOpenDialog(choix); + int choixValide = choix.showOpenDialog(parent); if (choixValide != JFileChooser.APPROVE_OPTION) return; + File Selection = choix.getSelectedFile(); effacerGrille(); // efface que si l'utilisateur choisit un fichier - - File fichierCharger = choix.getSelectedFile(); // permet de réecrire le fichier dans la grille - try (BufferedReader read = new BufferedReader(new FileReader(fichierCharger))) { + try { + FileReader fich = new FileReader(Selection); // permet de réecrire le fichier dans la grille + BufferedReader file = new BufferedReader(fich); int a = 0; String line; - while ((line = read.readLine()) != null && a < GRID_SIZE) { - for (int col = 0; col < Math.min(line.length(), GRID_SIZE); col++) { - char ch = line.charAt(col); + while ((line = file.readLine()) != null && a < GRID_SIZE) { + for (int colonne = 0; colonne < Math.min(line.length(), GRID_SIZE); colonne++) { + char ch = line.charAt(colonne); if (Character.isDigit(ch) && ch != '0') { - grid[a][col].setText(String.valueOf(ch)); + grid[a][colonne].setText(String.valueOf(ch)); } } a++; } + try { + file.close(); + } catch (IOException e) { + System.err.println("Erreur de fermeture"); + } + } catch (FileNotFoundException e) { + JOptionPane.showMessageDialog(null, "Le fichier séléctionné est introuvable.", "Erreur", JOptionPane.ERROR_MESSAGE); + e.printStackTrace(); } catch (IOException e) { - JOptionPane.showMessageDialog(null, "Erreur lors du chargement du fichier.", "Erreur", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, "Erreur lors de l'ouverture du fichier.", "Erreur", JOptionPane.ERROR_MESSAGE); e.printStackTrace(); } } diff --git a/Main.java b/Main.java index e555be7..f2ba4af 100644 --- a/Main.java +++ b/Main.java @@ -1,5 +1,4 @@ import javax.swing.*; -import java.awt.*; public class Main { diff --git a/SaveButton.java b/SaveButton.java index 02911ee..9a85a24 100644 --- a/SaveButton.java +++ b/SaveButton.java @@ -1,6 +1,4 @@ import javax.swing.*; -import javax.swing.filechooser.FileNameExtensionFilter; -import java.awt.*; import java.awt.event.*; import java.io.*; @@ -35,7 +33,6 @@ public class SaveButton implements ActionListener { // à completer return true; } - public void saveFichier() { try { diff --git a/SudokuGrid.java b/SudokuGrid.java index 2e3a3c1..5497a76 100644 --- a/SudokuGrid.java +++ b/SudokuGrid.java @@ -1,6 +1,5 @@ import javax.swing.*; import java.awt.*; -import java.awt.event.*; public class SudokuGrid extends JFrame { private static final int GRID_SIZE = 9; // Taille de la grille Sudoku 9x9 @@ -18,9 +17,9 @@ public class SudokuGrid extends JFrame { for (int j = 0; j < GRID_SIZE; j++) { grid[i][j] = new JTextField(); - TextFilter filtre = new TextFilter(grid[i][j]); - - grid[i][j].addKeyListener(filtre); + TextFilter filtre = new TextFilter(grid[i][j]); + + grid[i][j].addKeyListener(filtre); grid[i][j].setHorizontalAlignment(JTextField.CENTER); grid[i][j].setFont(new Font("Verdana", Font.BOLD,40)); gridPanel.add(grid[i][j]); @@ -35,16 +34,15 @@ public class SudokuGrid extends JFrame { // Bouton pour sauvegarder la grille JButton save = new JButton("Sauvegarder"); - SaveButton saver = new SaveButton(GRID_SIZE,grid); + SaveButton saver = new SaveButton(GRID_SIZE,grid); save.addActionListener(saver); - // Bouton pour chargé la grille JButton load = new JButton("Charger"); - LoadButton loader = new LoadButton(GRID_SIZE, grid); + LoadButton loader = new LoadButton(GRID_SIZE, grid); load.addActionListener(loader);