Fix le fait de pouvoir écrire un nombre plus grand que 9 et plus petit que 0

This commit is contained in:
David AKAGUNDUZ 2024-05-05 02:35:21 +02:00
parent 18bb7034a8
commit 186539e34c

@ -16,6 +16,7 @@ public class SudokuButtonListener implements ActionListener {
/** /**
* Constructeur de SudokuButtonListener. * Constructeur de SudokuButtonListener.
*
* @param row L'indice de ligne du bouton. * @param row L'indice de ligne du bouton.
* @param col L'indice de colonne du bouton. * @param col L'indice de colonne du bouton.
* @param sudoku L'instance de Sudoku associée à l'interface utilisateur. * @param sudoku L'instance de Sudoku associée à l'interface utilisateur.
@ -31,6 +32,7 @@ public class SudokuButtonListener implements ActionListener {
/** /**
* Méthode invoquée lorsque le bouton associé à ce listener est cliqué. * Méthode invoquée lorsque le bouton associé à ce listener est cliqué.
* Affiche une boîte de dialogue demandant à l'utilisateur d'entrer un nombre, puis met à jour la grille de Sudoku. * Affiche une boîte de dialogue demandant à l'utilisateur d'entrer un nombre, puis met à jour la grille de Sudoku.
*
* @param e L'événement ActionEvent associé au clic du bouton. * @param e L'événement ActionEvent associé au clic du bouton.
*/ */
@Override @Override
@ -39,6 +41,7 @@ public class SudokuButtonListener implements ActionListener {
if (input != null && input.length() > 0) { if (input != null && input.length() > 0) {
try { try {
int num = Integer.parseInt(input); int num = Integer.parseInt(input);
if (num >= 0 && num <= 9) { // Vérifie si le nombre est dans la plage autorisée
sudoku.getGrid().getCell(row, col).setValue(num); sudoku.getGrid().getCell(row, col).setValue(num);
if (num == 0) { if (num == 0) {
buttons[row][col].setText(""); // Case vide si le nombre est 0 buttons[row][col].setText(""); // Case vide si le nombre est 0
@ -50,6 +53,9 @@ public class SudokuButtonListener implements ActionListener {
} else { } else {
buttons[row][col].setForeground(Color.BLACK); // Réinitialise la couleur du texte buttons[row][col].setForeground(Color.BLACK); // Réinitialise la couleur du texte
} }
} else {
JOptionPane.showMessageDialog(null, "Veuillez entrer un nombre entre 0 et 9.");
}
} catch (NumberFormatException ex) { } catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "Veuillez entrer un nombre valide."); JOptionPane.showMessageDialog(null, "Veuillez entrer un nombre valide.");
} }
@ -58,6 +64,7 @@ public class SudokuButtonListener implements ActionListener {
/** /**
* Vérifie si le nombre entré est valide pour la position donnée dans la grille de Sudoku. * Vérifie si le nombre entré est valide pour la position donnée dans la grille de Sudoku.
*
* @param num Le nombre entré par l'utilisateur. * @param num Le nombre entré par l'utilisateur.
* @param row L'indice de ligne de la cellule dans la grille. * @param row L'indice de ligne de la cellule dans la grille.
* @param col L'indice de colonne de la cellule dans la grille. * @param col L'indice de colonne de la cellule dans la grille.
@ -69,6 +76,7 @@ public class SudokuButtonListener implements ActionListener {
/** /**
* Vérifie si le nombre est valide dans la ligne donnée de la grille de Sudoku. * Vérifie si le nombre est valide dans la ligne donnée de la grille de Sudoku.
*
* @param num Le nombre entré par l'utilisateur. * @param num Le nombre entré par l'utilisateur.
* @param row L'indice de ligne de la cellule dans la grille. * @param row L'indice de ligne de la cellule dans la grille.
* @return True si le nombre est valide dans cette ligne, False sinon. * @return True si le nombre est valide dans cette ligne, False sinon.
@ -84,6 +92,7 @@ public class SudokuButtonListener implements ActionListener {
/** /**
* Vérifie si le nombre est valide dans la colonne donnée de la grille de Sudoku. * Vérifie si le nombre est valide dans la colonne donnée de la grille de Sudoku.
*
* @param num Le nombre entré par l'utilisateur. * @param num Le nombre entré par l'utilisateur.
* @param col L'indice de colonne de la cellule dans la grille. * @param col L'indice de colonne de la cellule dans la grille.
* @return True si le nombre est valide dans cette colonne, False sinon. * @return True si le nombre est valide dans cette colonne, False sinon.
@ -99,6 +108,7 @@ public class SudokuButtonListener implements ActionListener {
/** /**
* Vérifie si le nombre est valide dans la boîte 3x3 contenant la cellule donnée. * Vérifie si le nombre est valide dans la boîte 3x3 contenant la cellule donnée.
*
* @param num Le nombre entré par l'utilisateur. * @param num Le nombre entré par l'utilisateur.
* @param boxStartRow L'indice de ligne du coin supérieur gauche de la boîte. * @param boxStartRow L'indice de ligne du coin supérieur gauche de la boîte.
* @param boxStartCol L'indice de colonne du coin supérieur gauche de la boîte. * @param boxStartCol L'indice de colonne du coin supérieur gauche de la boîte.