diff --git a/Sudoku/Makefile b/Sudoku/Makefile index 2d8f126..ee9a0a2 100644 --- a/Sudoku/Makefile +++ b/Sudoku/Makefile @@ -8,13 +8,13 @@ JVMFLAGS = ### REGLES ESSENTIELLES ### -main.class : main.java menu.class +main.class : mainProgramme2.java menuProgramme2.class ${JC} ${JCFLAGS} main.java grille.class : grille.java resolveurGrille.class ${JC} ${JCFLAGS} grille.java -menu.class : menu.java resolveurGrille.class grille.class +menu.class : menuProgramme2.java resolveurGrille.class grille.class ${JC} ${JCFLAGS} menu.java resolveurGrille.class : resolveurGrille.java @@ -22,13 +22,13 @@ resolveurGrille.class : resolveurGrille.java ### REGLES OPTIONNELLES ### -run : main.class +run : mainProgramme2.class ${JVM} ${JVMFLAGS} main clean : -rm -f *.class -mrproper : clean main.class +mrproper : clean mainProgramme2.class ### BUTS FACTICES ### diff --git a/Sudoku/grille.java b/Sudoku/grille.java index eb42df6..bd45803 100644 --- a/Sudoku/grille.java +++ b/Sudoku/grille.java @@ -69,13 +69,16 @@ public class grille extends JComponent{ } } } + + /*bouton(s) grille(s)*/ JPanel bouton_grille = new JPanel(); - bouton_grille.setSize(900,200); + bouton_grille.setSize(300,200); bouton_grille.setLayout(new BorderLayout()); JButton verifier = new JButton("verifier"); bouton_grille.add(verifier); fenetre.add(bouton_grille,BorderLayout.SOUTH); fenetre.add(place_grille, BorderLayout.CENTER); + /*affichage fenetre*/ fenetre.setVisible(true); @@ -127,4 +130,8 @@ public class grille extends JComponent{ return null; } + + public static void ExporterGrille(int[][] grille){ + + } } \ No newline at end of file diff --git a/Sudoku/main.java b/Sudoku/main.java deleted file mode 100644 index b858dbf..0000000 --- a/Sudoku/main.java +++ /dev/null @@ -1,6 +0,0 @@ - -public class main { - public static void main(String[] args) { - menu.menuFenetre(); - } -} \ No newline at end of file diff --git a/Sudoku/mainProgramme1.java b/Sudoku/mainProgramme1.java new file mode 100644 index 0000000..95b7bf7 --- /dev/null +++ b/Sudoku/mainProgramme1.java @@ -0,0 +1,6 @@ + +public class mainProgramme1 { + public static void main(String[] args) { + menuProgramme1.menuProgramme1(); + } +} \ No newline at end of file diff --git a/Sudoku/mainProgramme2.java b/Sudoku/mainProgramme2.java new file mode 100644 index 0000000..32f94d0 --- /dev/null +++ b/Sudoku/mainProgramme2.java @@ -0,0 +1,6 @@ + +public class mainProgramme2 { + public static void main(String[] args) { + menuProgramme2.menuProgramme2(); + } +} \ No newline at end of file diff --git a/Sudoku/menuProgramme1.java b/Sudoku/menuProgramme1.java new file mode 100644 index 0000000..fce8ff8 --- /dev/null +++ b/Sudoku/menuProgramme1.java @@ -0,0 +1,107 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; +import java.io.*; + + +public class menuProgramme1 { + + private static String cheminFichier = null; + + public static void menuProgramme1() { + /*fenetre*/ + JFrame fenetre = new JFrame(); + fenetre.setSize(500, 200); + fenetre.setTitle("Sudoku Creator (By Wilfried BRIGITTE & Julian GALLEGO)"); + fenetre.setResizable(false); + fenetre.setLocationRelativeTo(null); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + GridLayout gestionnaire = new GridLayout(4,1); + fenetre.setLayout(gestionnaire); + + /*composants G*/ + + JLabel titre = new JLabel("Sudoku Creator"); + titre.setHorizontalAlignment(JLabel.CENTER); + titre.setFont(new Font("Arial", Font.PLAIN, 25)); + fenetre.add(titre, BorderLayout.CENTER); + + JPanel ligne3 = new JPanel(); + JButton ouvrir = new JButton("Ouvrir"); + JLabel nomFichier = new JLabel("Fichier ouvert : "); + ligne3.add(ouvrir); + ligne3.add(nomFichier); + fenetre.add(ligne3, BorderLayout.CENTER); + + JPanel ligne4 = new JPanel(); + JButton editerGrilleVierge = new JButton("Editer Grille Vierge"); + JButton editerGrilleSelectionner = new JButton("Editer Grille Selectionner"); + JButton quitter = new JButton("Quitter"); + ligne4.add(editerGrilleVierge); + ligne4.add(editerGrilleSelectionner); + ligne4.add(quitter); + fenetre.add(ligne4, BorderLayout.CENTER); + + JLabel InfoLogiciel = new JLabel(" Info : Tout est normal"); + InfoLogiciel.setHorizontalAlignment(JLabel.LEFT); + InfoLogiciel.setFont(new Font("Arial", Font.PLAIN, 11)); + fenetre.add(InfoLogiciel); + + /*affichage*/ + fenetre.setVisible(true); + + /*evenements*/ + ouvrir.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + try { + JFileChooser filechooser = new JFileChooser(); + filechooser.setCurrentDirectory(new File("./grille")); + int result = filechooser.showOpenDialog(null); + if (result == JFileChooser.APPROVE_OPTION) { + File selectedFile = filechooser.getSelectedFile(); + nomFichier.setText("Fichier ouvert : " + selectedFile.getName()); + cheminFichier = selectedFile.getAbsolutePath(); + InfoLogiciel.setText(" Info : Tout est normal"); + InfoLogiciel.setForeground(Color.BLACK); + } + } catch (Exception ex) { + System.err.println("Erreur selection du fichier"); + } + } + }); + + editerGrilleVierge.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent e4){ + int[][] grille_vide = null; + grille_vide = new int[9][9]; + + for (int i = 0; i < 9; i++) { + for (int j = 0; j < 9 ; j++ ) { + grille_vide[i][j] = 0; + } + } + + fenetre.dispose(); + grille.AfficherGrille(grille_vide, true); + } + }); + + editerGrilleSelectionner.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent e4){ + if (cheminFichier == null){ + InfoLogiciel.setText(" Info : Erreur : Veuillez selectionner un fichier .gri"); + InfoLogiciel.setForeground(Color.RED); + }else{ + fenetre.dispose(); + grille.AfficherGrille(grille.ChargerGrille(cheminFichier), true); + } + } + }); + + quitter.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e3) { + System.exit(0); + } + }); + } +} diff --git a/Sudoku/menu.java b/Sudoku/menuProgramme2.java similarity index 80% rename from Sudoku/menu.java rename to Sudoku/menuProgramme2.java index d6f373f..8c146ba 100644 --- a/Sudoku/menu.java +++ b/Sudoku/menuProgramme2.java @@ -1,143 +1,120 @@ -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; -import java.io.*; - - -public class menu { - - private static String cheminFichier = null; - private static boolean ResolutionManuel = true; - - public static void menuFenetre() { - /*fenetre*/ - JFrame fenetre = new JFrame(); - fenetre.setSize(500, 250); - fenetre.setTitle("Sudoku Resolver (By Wilfried BRIGITTE & Julian GALLEGO)"); - fenetre.setResizable(false); - fenetre.setLocationRelativeTo(null); - fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - GridLayout gestionnaire = new GridLayout(5,1); - fenetre.setLayout(gestionnaire); - - /*composants G*/ - - JLabel titre = new JLabel("Sudoku Resolver"); - titre.setHorizontalAlignment(JLabel.CENTER); - titre.setFont(new Font("Arial", Font.PLAIN, 25)); - fenetre.add(titre, BorderLayout.CENTER); - - JPanel ligne2 = new JPanel(); - ButtonGroup groupModeResolution = new ButtonGroup(); - JRadioButton manuel = new JRadioButton("manuel"); - JRadioButton auto = new JRadioButton("auto"); - groupModeResolution.add(manuel); - groupModeResolution.add(auto); - ligne2.add(manuel); - ligne2.add(auto); - manuel.setSelected(true); - fenetre.add(ligne2, BorderLayout.CENTER); - - - JPanel ligne3 = new JPanel(); - JButton ouvrir = new JButton("Ouvrir"); - JLabel nomFichier = new JLabel("Fichier ouvert : "); - ligne3.add(ouvrir); - ligne3.add(nomFichier); - fenetre.add(ligne3, BorderLayout.CENTER); - - JPanel ligne4 = new JPanel(); - JButton editer = new JButton("Editer"); - JButton lancer = new JButton("Lancer"); - JButton quitter = new JButton("Quitter"); - ligne4.add(editer); - ligne4.add(lancer); - ligne4.add(quitter); - fenetre.add(ligne4, BorderLayout.CENTER); - - JLabel InfoLogiciel = new JLabel(" Info : Tout est normal"); - InfoLogiciel.setHorizontalAlignment(JLabel.LEFT); - InfoLogiciel.setFont(new Font("Arial", Font.PLAIN, 11)); - fenetre.add(InfoLogiciel); - - /*affichage*/ - fenetre.setVisible(true); - - /*evenements*/ - ouvrir.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - try { - JFileChooser filechooser = new JFileChooser(); - filechooser.setCurrentDirectory(new File("./grille")); - int result = filechooser.showOpenDialog(null); - if (result == JFileChooser.APPROVE_OPTION) { - File selectedFile = filechooser.getSelectedFile(); - nomFichier.setText("Fichier ouvert : " + selectedFile.getName()); - cheminFichier = selectedFile.getAbsolutePath(); - InfoLogiciel.setText(" Info : Tout est normal"); - InfoLogiciel.setForeground(Color.BLACK); - } - } catch (Exception ex) { - System.err.println("Erreur selection du fichier"); - } - } - }); - - editer.addActionListener(new ActionListener(){ - public void actionPerformed(ActionEvent e4){ - if (cheminFichier == null){ - int[][] grille_vide = null; - grille_vide = new int[9][9]; - - for (int i = 0; i < 9; i++) { - for (int j = 0; j < 9 ; j++ ) { - grille_vide[i][j] = 0; - } - } - - fenetre.dispose(); - grille.AfficherGrille(grille_vide, true); - }else{ - fenetre.dispose(); - grille.AfficherGrille(grille.ChargerGrille(cheminFichier), true); - } - } - }); - - lancer.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e2) { - if(cheminFichier != null){ - if (ResolutionManuel == true) { - fenetre.dispose(); - grille.AfficherGrille(grille.ChargerGrille(cheminFichier),false); - } else { - grille.AfficherGrille(resolveurGrille.resoudreGrille(grille.ChargerGrille(cheminFichier)),false); - } - } else { - InfoLogiciel.setText(" Info : Erreur : Veuillez selectionner un fichier .gri"); - InfoLogiciel.setForeground(Color.RED); - } - } - }); - - quitter.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e3) { - System.exit(0); - } - }); - - manuel.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e1) { - ResolutionManuel = true; - } - }); - - auto.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - ResolutionManuel = false; - } - }); - } -} +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; +import java.io.*; + + +public class menuProgramme2 { + + private static String cheminFichier = null; + private static boolean ResolutionManuel = true; + + public static void menuProgramme2() { + /*fenetre*/ + JFrame fenetre = new JFrame(); + fenetre.setSize(500, 250); + fenetre.setTitle("Sudoku Resolver (By Wilfried BRIGITTE & Julian GALLEGO)"); + fenetre.setResizable(false); + fenetre.setLocationRelativeTo(null); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + GridLayout gestionnaire = new GridLayout(5,1); + fenetre.setLayout(gestionnaire); + + /*composants G*/ + + JLabel titre = new JLabel("Sudoku Resolver"); + titre.setHorizontalAlignment(JLabel.CENTER); + titre.setFont(new Font("Arial", Font.PLAIN, 25)); + fenetre.add(titre, BorderLayout.CENTER); + + JPanel ligne2 = new JPanel(); + ButtonGroup groupModeResolution = new ButtonGroup(); + JRadioButton manuel = new JRadioButton("manuel"); + JRadioButton auto = new JRadioButton("auto"); + groupModeResolution.add(manuel); + groupModeResolution.add(auto); + ligne2.add(manuel); + ligne2.add(auto); + manuel.setSelected(true); + fenetre.add(ligne2, BorderLayout.CENTER); + + + JPanel ligne3 = new JPanel(); + JButton ouvrir = new JButton("Ouvrir"); + JLabel nomFichier = new JLabel("Fichier ouvert : "); + ligne3.add(ouvrir); + ligne3.add(nomFichier); + fenetre.add(ligne3, BorderLayout.CENTER); + + JPanel ligne4 = new JPanel(); + JButton lancer = new JButton("Lancer"); + JButton quitter = new JButton("Quitter"); + ligne4.add(lancer); + ligne4.add(quitter); + fenetre.add(ligne4, BorderLayout.CENTER); + + JLabel InfoLogiciel = new JLabel(" Info : Tout est normal"); + InfoLogiciel.setHorizontalAlignment(JLabel.LEFT); + InfoLogiciel.setFont(new Font("Arial", Font.PLAIN, 11)); + fenetre.add(InfoLogiciel); + + /*affichage*/ + fenetre.setVisible(true); + + /*evenements*/ + ouvrir.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + try { + JFileChooser filechooser = new JFileChooser(); + filechooser.setCurrentDirectory(new File("./grille")); + int result = filechooser.showOpenDialog(null); + if (result == JFileChooser.APPROVE_OPTION) { + File selectedFile = filechooser.getSelectedFile(); + nomFichier.setText("Fichier ouvert : " + selectedFile.getName()); + cheminFichier = selectedFile.getAbsolutePath(); + InfoLogiciel.setText(" Info : Tout est normal"); + InfoLogiciel.setForeground(Color.BLACK); + } + } catch (Exception ex) { + System.err.println("Erreur selection du fichier"); + } + } + }); + + lancer.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e2) { + if(cheminFichier != null){ + if (ResolutionManuel == true) { + fenetre.dispose(); + grille.AfficherGrille(grille.ChargerGrille(cheminFichier),false); + } else { + grille.AfficherGrille(resolveurGrille.resoudreGrille(grille.ChargerGrille(cheminFichier)),false); + } + } else { + InfoLogiciel.setText(" Info : Erreur : Veuillez selectionner un fichier .gri"); + InfoLogiciel.setForeground(Color.RED); + } + } + }); + + quitter.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e3) { + System.exit(0); + } + }); + + manuel.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e1) { + ResolutionManuel = true; + } + }); + + auto.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + ResolutionManuel = false; + } + }); + } +}