import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.File; import java.io.PrintWriter; import java.io.FileWriter; import java.io.IOException; import javax.swing.JFileChooser; public class MainCreation { public static void main(String[] args) { //Création de la fenetre de selection JFrame selF = new JFrame("Choix de résolution du Sudoku"); selF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); selF.setSize(400, 200); selF.setLayout(new BorderLayout()); selF.setLocationRelativeTo(null); JLabel sel = new JLabel("Quelle grilles souhaitez vous ?"); //Création des boutons sel.setHorizontalAlignment(JLabel.CENTER); JButton grilleVide = new JButton("Grille vide"); JButton grilleExiste = new JButton("Grille Existante"); JPanel boutonsSelect = new JPanel(); boutonsSelect.setLayout(new FlowLayout()); boutonsSelect.add(grilleVide); boutonsSelect.add(grilleExiste); selF.add(sel, BorderLayout.NORTH); selF.add(boutonsSelect, BorderLayout.CENTER); selF.setVisible(true); //Action des bouton grilleVide.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { selF.dispose(); int[][] grille = grilleVide(); fenetreModification(grille, false); } }); grilleExiste.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { selF.dispose(); int[][] grille = SudokuGenerator.readGridFromFile(); fenetreModification(grille, false); } }); } public static int[][] grilleVide() { int[][] g = { {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0} }; return g; } private static void fenetreModification(int[][] grille, boolean modeAutomatique) { JFrame frame = new JFrame("Sudoku"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); SaisieGrille saisieGrille = new SaisieGrille(grille); // Utilisation de la classe SaisieGrille pour permettre la saisie des valeurs JButton register = new JButton("Enregistrer"); register.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e){ JFileChooser dialogue = new JFileChooser(new File(".")); if (dialogue.showOpenDialog(null)==JFileChooser.APPROVE_OPTION) { dialogue.getSelectedFile(); } } }); frame.add(register, BorderLayout.SOUTH); // Ajouter le bouton "Enregistrer" frame.add(saisieGrille, BorderLayout.CENTER); // Ajouter la grille à la fenêtre frame.pack(); frame.setLocationRelativeTo(null); // Centrer la fenêtre sur l'écran frame.setVisible(true); System.out.println("La fenêtre de création a été affichée."); } }