diff --git a/LoadButton.java b/LoadButton.java index b69be9b..def8ec4 100644 --- a/LoadButton.java +++ b/LoadButton.java @@ -38,7 +38,7 @@ public class LoadButton implements ActionListener { } // Méthode pour charger un fichier dans la grille - private void chargerFichier() { + public 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 gri", "gri")); diff --git a/SaveButton.java b/SaveButton.java index 5d2f712..b115b61 100644 --- a/SaveButton.java +++ b/SaveButton.java @@ -13,9 +13,10 @@ public class SaveButton implements ActionListener { private int GRID_SIZE; private JTextField[][] grid; - public SaveButton(int GRID_SIZE, JTextField[][] grid ) { + public SaveButton(int GRID_SIZE, JTextField[][] grid) { this.GRID_SIZE = GRID_SIZE; this.grid = grid; + } @Override diff --git a/SudokuGridJoueur.java b/SudokuGridJoueur.java index 1d0c59b..7b395ef 100644 --- a/SudokuGridJoueur.java +++ b/SudokuGridJoueur.java @@ -53,34 +53,59 @@ public class SudokuGridJoueur extends JFrame { } } - // Panneau pour les boutons - JPanel bouton = new JPanel(); - bouton.setBackground(new Color(88, 169, 191)); - bouton.setPreferredSize(new Dimension(150, 0)); // Espace pour les boutons - - // Bouton pour sauvegarder la grille - JButton save = new JButton("Sauvegarder"); - SaveButton saver = new SaveButton(GRID_SIZE,grid); - save.addActionListener(saver); + // Boutons + JButton saveButton = new JButton("Sauvegarder"); + SaveButton saver = new SaveButton(GRID_SIZE,grid); + saveButton.addActionListener(saver); + JButton loadButton = new JButton("Charger"); + LoadButton loader = new LoadButton(GRID_SIZE, grid, status); + loadButton.addActionListener(loader); - // Bouton pour chargé la grille - JButton load = new JButton("Charger"); - LoadButton loader = new LoadButton(GRID_SIZE, grid, status); - load.addActionListener(loader); - - //Bouton pour résoudre la grille - JButton resolve = new JButton("Résoudre"); + JButton resolveButton = new JButton("Résoudre"); Resolver resolver = new Resolver(grid, GRID_SIZE); - resolve.addActionListener(resolver); - - bouton.add(load); - bouton.add(save); - bouton.add(resolve); - + resolveButton.addActionListener(resolver); + + // Personnaliser le style des boutons + Color buttonColor = new Color(88, 169, 191); // Couleur bleue claire + saveButton.setBackground(buttonColor); + loadButton.setBackground(buttonColor); + resolveButton.setBackground(buttonColor); + saveButton.setForeground(Color.WHITE); // Texte en blanc + loadButton.setForeground(Color.WHITE); // Texte en blanc + resolveButton.setForeground(Color.WHITE); // Texte en blanc + Font buttonFont = new Font("Arial", Font.BOLD, 14); + saveButton.setFont(buttonFont); + loadButton.setFont(buttonFont); + resolveButton.setFont(buttonFont); + + // Taille uniforme des boutons + Dimension buttonSize = new Dimension(150, 50); + saveButton.setPreferredSize(buttonSize); + loadButton.setPreferredSize(buttonSize); + resolveButton.setPreferredSize(buttonSize); + + // Espacement entre les boutons et la grille + int spacing = 20; + + // Panneau pour les boutons + JPanel buttonPanel = new JPanel(); + buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.Y_AXIS)); + buttonPanel.setBackground(new Color(88, 169, 191)); // Fond vert + buttonPanel.add(Box.createVerticalStrut(spacing)); // Espacement au début + buttonPanel.add(saveButton); + buttonPanel.add(Box.createVerticalStrut(spacing)); // Espacement entre les boutons + buttonPanel.add(loadButton); + buttonPanel.add(Box.createVerticalStrut(spacing)); // Espacement entre les boutons + buttonPanel.add(resolveButton); + buttonPanel.add(Box.createVerticalStrut(spacing)); // Espacement à la fin // Ajout des panneaux à la fenetre getContentPane().add(gridPanel, BorderLayout.CENTER); - getContentPane().add(bouton, BorderLayout.EAST); + getContentPane().add(buttonPanel, BorderLayout.EAST); + + LoadButton charger = new LoadButton(GRID_SIZE, grid, status); + // Appel de la méthode pour ouvrir la fenêtre de chargement de fichier + charger.chargerFichier(); } }