séparation des fichiers
This commit is contained in:
5
Makefile
5
Makefile
@@ -10,12 +10,15 @@ J = java
|
|||||||
Main.class : Main.java SudokuGrid.class
|
Main.class : Main.java SudokuGrid.class
|
||||||
${JC} ${JCFLAGS} Main.java
|
${JC} ${JCFLAGS} Main.java
|
||||||
|
|
||||||
SudokuGrid.class : SudokuGrid.java TextFilter.class
|
SudokuGrid.class : SudokuGrid.java TextFilter.class SaveButton.class
|
||||||
${JC} ${JCFLAGS} SudokuGrid.java
|
${JC} ${JCFLAGS} SudokuGrid.java
|
||||||
|
|
||||||
TextFilter.class : TextFilter.java
|
TextFilter.class : TextFilter.java
|
||||||
${JC} ${JCFLAGS} TextFilter.java
|
${JC} ${JCFLAGS} TextFilter.java
|
||||||
|
|
||||||
|
SaveButton.class : SaveButton.java
|
||||||
|
${JC} ${JCFLAGS} SaveButton.java
|
||||||
|
|
||||||
|
|
||||||
### REGLES OPTIONNELLES ###
|
### REGLES OPTIONNELLES ###
|
||||||
|
|
||||||
|
59
SaveButton.java
Normal file
59
SaveButton.java
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.filechooser.FileNameExtensionFilter;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.*;
|
||||||
|
import java.io.*;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class SaveButton implements ActionListener {
|
||||||
|
|
||||||
|
private int GRID_SIZE;
|
||||||
|
private JTextField[][] grid;
|
||||||
|
|
||||||
|
public SaveButton(int GRID_SIZE, JTextField[][] grid ) {
|
||||||
|
|
||||||
|
this.GRID_SIZE = GRID_SIZE;
|
||||||
|
|
||||||
|
this.grid = grid;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
if (GrilleValide()) {
|
||||||
|
saveFichier();
|
||||||
|
} else {
|
||||||
|
JOptionPane.showMessageDialog(null, "La grille n'est pas valide.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//vérifier si la grille est valide
|
||||||
|
public boolean GrilleValide() {
|
||||||
|
// à completer
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void saveFichier() {
|
||||||
|
try {
|
||||||
|
PrintWriter affichage = new PrintWriter(new FileWriter("GrilleNumero1.txt"));
|
||||||
|
for (int i = 0; i < GRID_SIZE; i++) {
|
||||||
|
for (int j = 0; j < GRID_SIZE; j++) {
|
||||||
|
String value = grid[i][j].getText().isEmpty() ? "0" : grid[i][j].getText();
|
||||||
|
affichage.print(value);
|
||||||
|
}
|
||||||
|
affichage.println();
|
||||||
|
}
|
||||||
|
affichage.close();
|
||||||
|
JOptionPane.showMessageDialog(null, "Grille sauvegardé avec succès.", "Succes", JOptionPane.INFORMATION_MESSAGE);
|
||||||
|
} catch (IOException e) {
|
||||||
|
JOptionPane.showMessageDialog(null, "Erreur lors de la sauvegarde de la grille.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@@ -35,15 +35,12 @@ public class SudokuGrid extends JFrame {
|
|||||||
|
|
||||||
// Bouton pour sauvegarder la grille
|
// Bouton pour sauvegarder la grille
|
||||||
JButton save = new JButton("Sauvegarder");
|
JButton save = new JButton("Sauvegarder");
|
||||||
save.addActionListener(new ActionListener() {
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
SaveButton saver = new SaveButton(GRID_SIZE,grid);
|
||||||
if (GrilleValide()) {
|
|
||||||
saveFichier();
|
save.addActionListener(saver);
|
||||||
} else {
|
|
||||||
JOptionPane.showMessageDialog(null, "La grille n'est pas valide.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Bouton pour chargé la grille
|
// Bouton pour chargé la grille
|
||||||
JButton load = new JButton("Charger");
|
JButton load = new JButton("Charger");
|
||||||
@@ -68,23 +65,7 @@ public class SudokuGrid extends JFrame {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// sauvegarder la grille en entier dans un texte
|
// sauvegarder la grille en entier dans un texte
|
||||||
private void saveFichier() {
|
|
||||||
try {
|
|
||||||
PrintWriter affichage = new PrintWriter(new FileWriter("GrilleNumero1.txt"));
|
|
||||||
for (int i = 0; i < GRID_SIZE; i++) {
|
|
||||||
for (int j = 0; j < GRID_SIZE; j++) {
|
|
||||||
String value = grid[i][j].getText().isEmpty() ? "0" : grid[i][j].getText();
|
|
||||||
affichage.print(value);
|
|
||||||
}
|
|
||||||
affichage.println();
|
|
||||||
}
|
|
||||||
affichage.close();
|
|
||||||
JOptionPane.showMessageDialog(null, "Grille sauvegardé avec succès.", "Succes", JOptionPane.INFORMATION_MESSAGE);
|
|
||||||
} catch (IOException e) {
|
|
||||||
JOptionPane.showMessageDialog(null, "Erreur lors de la sauvegarde de la grille.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// charger une grille existant
|
// charger une grille existant
|
||||||
private void chargerFichier() {
|
private void chargerFichier() {
|
||||||
|
@@ -14,9 +14,10 @@ public class TextFilter extends KeyAdapter {
|
|||||||
@Override
|
@Override
|
||||||
|
|
||||||
public void keyTyped(KeyEvent e) {
|
public void keyTyped(KeyEvent e) {
|
||||||
|
|
||||||
char chaine = e.getKeyChar();
|
char chaine = e.getKeyChar();
|
||||||
|
|
||||||
int taille = Text.getText().length();
|
int taille = this.Text.getText().length();
|
||||||
|
|
||||||
if ( ((chaine < '0') || (chaine > '9')) && (chaine != KeyEvent.VK_BACK_SPACE)) {
|
if ( ((chaine < '0') || (chaine > '9')) && (chaine != KeyEvent.VK_BACK_SPACE)) {
|
||||||
e.consume(); // ignorer l'événement
|
e.consume(); // ignorer l'événement
|
||||||
|
Reference in New Issue
Block a user