Ajout javadoc Cell.java,GenerateGrid.java,Grid.java | Amélioration UI
This commit is contained in:
106
SudokuCreator.java
Normal file
106
SudokuCreator.java
Normal file
@@ -0,0 +1,106 @@
|
||||
import javax.swing.*;
|
||||
import javax.swing.filechooser.FileNameExtensionFilter;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.*;
|
||||
|
||||
public class SudokuCreator extends SudokuUI {
|
||||
|
||||
public SudokuCreator(Sudoku sudoku) {
|
||||
super(sudoku);
|
||||
createAdditionalButtons();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTitleText() {
|
||||
return "Sudoku Creator";
|
||||
}
|
||||
|
||||
protected void createAdditionalButtons() {
|
||||
createLoadButton();
|
||||
createGenerateButton();
|
||||
createSaveButton();
|
||||
pack();
|
||||
}
|
||||
|
||||
private void createLoadButton() {
|
||||
JButton loadButton = new JButton("Charger");
|
||||
loadButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fileChooser = new JFileChooser();
|
||||
FileNameExtensionFilter filter = new FileNameExtensionFilter("Fichiers de grille Sudoku (*.gri)", "gri");
|
||||
fileChooser.setFileFilter(filter);
|
||||
int returnValue = fileChooser.showOpenDialog(null);
|
||||
if (returnValue == JFileChooser.APPROVE_OPTION) {
|
||||
File selectedFile = fileChooser.getSelectedFile();
|
||||
sudoku.loadGridFromFile(selectedFile.getAbsolutePath());
|
||||
updateGrid();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
JPanel buttonPanel = new JPanel();
|
||||
buttonPanel.add(loadButton, BorderLayout.NORTH);
|
||||
add(buttonPanel, BorderLayout.NORTH);
|
||||
}
|
||||
|
||||
private void createGenerateButton() {
|
||||
JButton generateButton = new JButton("Générer");
|
||||
generateButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// Générer une nouvelle grille Sudoku
|
||||
Grid newGrid = GenerateGrid.generateSudokuGrid();
|
||||
// Définir la nouvelle grille dans l'instance de Sudoku
|
||||
sudoku.setGrid(newGrid);
|
||||
// Afficher la grille générée dans la console
|
||||
sudoku.printGrid();
|
||||
// Mettre à jour l'interface utilisateur pour afficher la nouvelle grille
|
||||
updateGrid();
|
||||
}
|
||||
});
|
||||
|
||||
JPanel buttonPanel = new JPanel();
|
||||
buttonPanel.add(generateButton, BorderLayout.EAST);
|
||||
add(buttonPanel, BorderLayout.EAST);
|
||||
}
|
||||
|
||||
private void createSaveButton() {
|
||||
JButton saveButton = new JButton("Sauvegarder");
|
||||
saveButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
JFileChooser fileChooser = new JFileChooser();
|
||||
FileNameExtensionFilter filter = new FileNameExtensionFilter("Fichiers de grille Sudoku (*.gri)", "gri");
|
||||
fileChooser.setFileFilter(filter);
|
||||
int returnValue = fileChooser.showSaveDialog(null);
|
||||
if (returnValue == JFileChooser.APPROVE_OPTION) {
|
||||
File selectedFile = fileChooser.getSelectedFile();
|
||||
sudoku.getGrid().saveGridToFile(selectedFile.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
JPanel buttonPanel = new JPanel();
|
||||
buttonPanel.add(saveButton, BorderLayout.WEST);
|
||||
add(buttonPanel, BorderLayout.WEST);
|
||||
}
|
||||
|
||||
private void updateGrid() {
|
||||
Grid grid = sudoku.getGrid();
|
||||
for (int row = 0; row < 9; row++) {
|
||||
for (int col = 0; col < 9; col++) {
|
||||
int value = grid.getCell(row, col).getValue();
|
||||
buttons[row][col].setText(value == 0 ? "" : String.valueOf(value));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Sudoku sudoku = new Sudoku();
|
||||
new SudokuCreator(sudoku);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user