Modification du chargement et de la sauvegarde avec un fichier .gri + ajout de bordure de région

This commit is contained in:
2024-05-01 15:05:23 +02:00
parent f2f3b4c5c0
commit 1c16351831
4 changed files with 52 additions and 34 deletions

View File

@@ -3,13 +3,14 @@ import java.awt.*;
public class SudokuGrid extends JFrame {
private static final int GRID_SIZE = 9; // Taille de la grille Sudoku 9x9
private static final int REGION_SIZE = 3;
private JTextField[][] grid;
public SudokuGrid() {
// Panneau pour la grille Sudoku
JPanel gridPanel = new JPanel();
gridPanel.setLayout(new GridLayout(GRID_SIZE, GRID_SIZE)); // Utiliser GridLayout
gridPanel.setBackground(Color.black); // Fond vert
gridPanel.setBackground(new Color(88, 169, 191)); // Fond vert
// Initialiser la grille
grid = new JTextField[GRID_SIZE][GRID_SIZE];
@@ -23,6 +24,24 @@ public class SudokuGrid extends JFrame {
grid[i][j].setHorizontalAlignment(JTextField.CENTER);
grid[i][j].setFont(new Font("Verdana", Font.BOLD,40));
gridPanel.add(grid[i][j]);
int top = 1;
int left = 1;
int bottom = 1;
int right = 1;
// Vérifier si la case est sur le bord de la région horizontalement
if ((j + 1) % REGION_SIZE == 0 && j != GRID_SIZE - 1) {
right = 5; // Ajouter une bordure plus épaisse à droite
}
// Vérifier si la case est sur le bord de la région verticalement
if ((i + 1) % REGION_SIZE == 0 && i != GRID_SIZE - 1) {
bottom = 5; // Ajouter une bordure plus épaisse en bas
}
// Appliquer la bordure à la case
grid[i][j].setBorder(BorderFactory.createMatteBorder(top, left, bottom, right, Color.BLACK));
}
}
@@ -34,7 +53,7 @@ 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);
@@ -46,6 +65,7 @@ public class SudokuGrid extends JFrame {
load.addActionListener(loader);
/*
// Bouton pour vérifier la grille
JButton verify = new JButton("Vérifier");
@@ -53,10 +73,11 @@ public class SudokuGrid extends JFrame {
verify.addActionListener(verifyer);
*/
bouton.add(load);
bouton.add(save);
bouton.add(verify);
// bouton.add(verify);
// Ajout des panneaux à la fenetre
getContentPane().add(gridPanel, BorderLayout.CENTER);