diff --git a/src/main/java/beans/Drawing.java b/src/main/java/beans/Drawing.java index f296347131e86eb765ffacc2018396f27f6d53cb..46ea309b56acf348f58c11c41f18b0573442ea34 100644 --- a/src/main/java/beans/Drawing.java +++ b/src/main/java/beans/Drawing.java @@ -1,64 +1,66 @@ package beans; - +import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.event.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; -public class Drawing extends JFrame { +public class Drawing extends JPanel { private Color currentColor = Color.BLACK; private int brushSize = 10; private boolean eraserMode = false; + private boolean hasDrawn = false; // Indicateur pour savoir si un dessin a été effectué + private DrawArea drawArea; + private JButton saveButton; // Bouton pour enregistrer public Drawing() { - setTitle("Application de Dessin"); + //setTitle("Application de Dessin"); setSize(800, 600); - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + //setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - // Zone de dessin drawArea = new DrawArea(); drawArea.setBackground(Color.WHITE); - // Bouton pour choisir la couleur + // Créer les boutons et options (sans icônes ni curseur personnalisé) JButton colorButton = new JButton("Couleur"); - colorButton.setFocusable(false); colorButton.addActionListener(e -> chooseColor()); - // Bouton pour effacer tout JButton eraseButton = new JButton("Effacer tout"); - eraseButton.setFocusable(false); - eraseButton.addActionListener(e -> drawArea.clear()); + eraseButton.addActionListener(e -> { + drawArea.clear(); + hasDrawn = false; // Réinitialiser le statut + saveButton.setEnabled(false); // Désactiver le bouton d'enregistrement + }); - // Slider pour choisir la taille du pinceau JSlider sizeSlider = new JSlider(1, 50, brushSize); sizeSlider.setMajorTickSpacing(10); sizeSlider.setPaintTicks(true); sizeSlider.setPaintLabels(true); - sizeSlider.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - brushSize = sizeSlider.getValue(); - } - }); + sizeSlider.addChangeListener(e -> brushSize = sizeSlider.getValue()); - // Bouton pour activer/désactiver la gomme JButton eraserButton = new JButton("Gomme"); - eraserButton.setFocusable(false); eraserButton.addActionListener(e -> eraserMode = !eraserMode); - // Disposition des éléments d'interface dans un JPanel avec un FlowLayout + // Bouton "Enregistrer" désactivé par défaut + saveButton = new JButton("Enregistrer"); + saveButton.setEnabled(false); // Désactivé par défaut + saveButton.addActionListener(e -> saveDrawing()); + + // Disposition des éléments d'interface JPanel controls = new JPanel(); - controls.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 10)); // Espacement entre les composants controls.add(colorButton); - controls.add(new JLabel("Taille du pinceau :")); + controls.add(new JLabel("Taille du stylo :")); controls.add(sizeSlider); controls.add(eraserButton); controls.add(eraseButton); + controls.add(saveButton); // Ajout du bouton d'enregistrement // Ajouter les composants à la fenêtre + setLayout(new BorderLayout()); add(controls, BorderLayout.NORTH); add(drawArea, BorderLayout.CENTER); @@ -74,10 +76,33 @@ public class Drawing extends JFrame { } } - // Zone de dessin personnalisée - private class DrawArea extends JPanel { + // Méthode pour enregistrer le dessin dans un fichier + private void saveDrawing() { + if (!hasDrawn) { + JOptionPane.showMessageDialog(this, "Rien n'a été dessiné à enregistrer.", "Erreur", JOptionPane.ERROR_MESSAGE); + return; + } + + JFileChooser fileChooser = new JFileChooser(); + fileChooser.setDialogTitle("Enregistrer le dessin"); + int userSelection = fileChooser.showSaveDialog(this); + + if (userSelection == JFileChooser.APPROVE_OPTION) { + File fileToSave = fileChooser.getSelectedFile(); + try { + // Crée un fichier PNG + ImageIO.write(drawArea.getImage(), "png", new File(fileToSave.getAbsolutePath() + ".png")); + JOptionPane.showMessageDialog(this, "Dessin enregistré avec succès !"); + } catch (IOException ex) { + ex.printStackTrace(); + JOptionPane.showMessageDialog(this, "Erreur lors de l'enregistrement du fichier.", "Erreur", JOptionPane.ERROR_MESSAGE); + } + } + } - private Image image; + // Zone de dessin + private class DrawArea extends JPanel { + private BufferedImage image; private Graphics2D g2d; private int prevX, prevY; @@ -103,45 +128,26 @@ public class Drawing extends JFrame { int y = e.getY(); if (eraserMode) { - g2d.setColor(Color.WHITE); // Utiliser la gomme + g2d.setColor(Color.WHITE); // Mode gomme } else { - g2d.setColor(currentColor); // Utiliser la couleur sélectionnée + g2d.setColor(currentColor); // Mode pinceau } - // Dessiner un trait continu g2d.setStroke(new BasicStroke(brushSize, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); g2d.drawLine(prevX, prevY, x, y); - repaint(); prevX = x; prevY = y; - } - }); - // Redimensionner l'image lors du redimensionnement de la fenêtre - addComponentListener(new ComponentAdapter() { - @Override - public void componentResized(ComponentEvent e) { - if (g2d != null) { - Image newImage = createImage(getWidth(), getHeight()); - Graphics2D g2dNew = (Graphics2D) newImage.getGraphics(); - g2dNew.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); - g2dNew.setColor(Color.WHITE); - g2dNew.fillRect(0, 0, getWidth(), getHeight()); - g2dNew.drawImage(image, 0, 0, null); // Copie l'ancien contenu sur la nouvelle image - g2d = g2dNew; - image = newImage; - } else { - initDrawing(getSize().width, getSize().height); - } - repaint(); + hasDrawn = true; // Marque le fait qu'un dessin a été effectué + saveButton.setEnabled(true); // Active le bouton d'enregistrement } }); } - // Méthode pour initialiser l'image de dessin + // Initialisation de l'image de dessin private void initDrawing(int width, int height) { - image = createImage(width, height); + image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); g2d = (Graphics2D) image.getGraphics(); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setColor(Color.WHITE); @@ -149,7 +155,7 @@ public class Drawing extends JFrame { g2d.setColor(Color.BLACK); } - // Méthode pour effacer le dessin + // Effacer tout public void clear() { g2d.setPaint(Color.WHITE); g2d.fillRect(0, 0, getSize().width, getSize().height); @@ -157,6 +163,11 @@ public class Drawing extends JFrame { repaint(); } + // Retourne l'image en cours de dessin + public BufferedImage getImage() { + return image; + } + @Override protected void paintComponent(Graphics g) { super.paintComponent(g); diff --git a/src/main/java/beans/Question.java b/src/main/java/beans/Question.java index 0372ce9159201c6801785a88a5a8335accdb3ea8..77b10dcea6cd2a586b05effb18a5632662fe1f11 100644 --- a/src/main/java/beans/Question.java +++ b/src/main/java/beans/Question.java @@ -5,14 +5,13 @@ package beans; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Random; /** * * @author Clément GROSSELLE */ public class Question implements Serializable { + private int id; private int level; private String statement; @@ -20,14 +19,14 @@ public class Question implements Serializable { public Question() { } - + public Question(Question q) { this.id = q.id; this.level = q.level; this.statement = q.statement; this.answer = q.answer; } - + public void setId(int id) { this.id = id; } diff --git a/src/main/java/com/mycompany/groupe_05/ContentFrame.java b/src/main/java/com/mycompany/groupe_05/ContentFrame.java new file mode 100644 index 0000000000000000000000000000000000000000..0f07ae90778076d095e6b51fb5aca4c9e00b812c --- /dev/null +++ b/src/main/java/com/mycompany/groupe_05/ContentFrame.java @@ -0,0 +1,129 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package com.mycompany.groupe_05; + +import beans.Drawing; +import gui.MainMenu; +import gui.QuestionsGui; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import javax.swing.BorderFactory; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JPanel; + +/** + * + * @author stag + */ +public class ContentFrame extends JFrame { + + private static final long serialVersionUID = 1L; + + private final JPanel content; + private final MainMenu menuPanel; + private final Drawing drawingPane; + private final Container mathPane; + private final QuestionsGui questionsPane; + private final JMenuBar menuBar; + + + + public ContentFrame() { + content = new JPanel(new BorderLayout()); + drawingPane = new Drawing(); + questionsPane = new QuestionsGui(); + mathPane = new JPanel(); + menuPanel = new MainMenu(); + menuBar = new JMenuBar(); + + setTitle("Multi Jeux"); + initGui(); + initEvent(); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setResizable(true); + setSize(800, 600); + setLocationRelativeTo(null); + setVisible(true); + + } + + private void initGui() { + initMenuBar(); + initMenuPanel(); + content.add(menuPanel, BorderLayout.WEST); + setJMenuBar(menuBar); + setContentPane(content); + } + + private void initEvent() { + menuPanel.getDrawButton().addActionListener((ActionEvent ae) -> { + switchActivities(drawingPane); + }); + menuPanel.getMathButton().addActionListener((ActionEvent ae) -> { + switchActivities(mathPane); + }); + menuPanel.getQuestButton().addActionListener((ActionEvent ae) -> { + switchActivities(questionsPane); + }); + } + + private void initMenuBar() { + //Définition des différents groupes de menus + JMenu activitiesMenu = new JMenu("Jeux"); + JMenu optionsMenu = new JMenu("Options"); + JMenu otherMenu = new JMenu("Infos"); + + JMenuItem drawI = new JMenuItem("Ardoise magique"); + JMenuItem mathI = new JMenuItem("Test de maths"); + JMenuItem questI = new JMenuItem("Culture générale"); + JMenuItem newQuestI = new JMenuItem("Créer nouvelle question"); + JMenuItem helpI = new JMenuItem("Besoin d'aide?"); + JMenuItem mainI = new JMenuItem("Menu Principal"); + JMenuItem exitI = new JMenuItem("Quitter"); + + activitiesMenu.add(drawI); + activitiesMenu.add(mathI); + activitiesMenu.add(questI); + + optionsMenu.add(mainI); + optionsMenu.add(newQuestI); + optionsMenu.add(exitI); + + otherMenu.add(helpI); + + menuBar.add(activitiesMenu); + menuBar.add(optionsMenu); + menuBar.add(otherMenu); + drawI.addActionListener(ae -> switchActivities(drawingPane)); + mathI.addActionListener(ae -> switchActivities(mathPane)); + questI.addActionListener(ae -> switchActivities(questionsPane)); + mainI.addActionListener((ActionEvent ae) -> { + content.add(menuPanel, BorderLayout.WEST); + }); + exitI.addActionListener(ae -> System.exit(0)); + + } + + private void initMenuPanel() { + } + + private void switchActivities(Container newActivitie) { + content.removeAll(); + //content.add(menuPanel, BorderLayout.WEST); + add(newActivitie, BorderLayout.CENTER); + revalidate(); + repaint(); + + } +} diff --git a/src/main/java/com/mycompany/groupe_05/Groupe_05.java b/src/main/java/com/mycompany/groupe_05/Groupe_05.java index 2a774057185f69dc70b8cca9fb07b5f2d08a8daf..762bfc93df875de886451e2202f1f56231468279 100644 --- a/src/main/java/com/mycompany/groupe_05/Groupe_05.java +++ b/src/main/java/com/mycompany/groupe_05/Groupe_05.java @@ -3,6 +3,7 @@ package com.mycompany.groupe_05; public class Groupe_05 { public static void main(String[] args) { + ContentFrame content = new ContentFrame(); } } diff --git a/src/main/java/com/mycompany/groupe_05/TestFrame.java b/src/main/java/com/mycompany/groupe_05/TestFrame.java index caca067e5253c3bc1e9a41ea7181ac1f2f64f066..a03ee5d5c2ee5d9f6bd2ee749c684d640cbc7277 100644 --- a/src/main/java/com/mycompany/groupe_05/TestFrame.java +++ b/src/main/java/com/mycompany/groupe_05/TestFrame.java @@ -13,6 +13,8 @@ import javax.swing.JPanel; * @author stag */ public class TestFrame extends JFrame { + + private static final long serialVersionUID = 1L; JPanel qPane = new QuestionsGui(); public TestFrame() { diff --git a/src/main/java/gui/MainMenu.java b/src/main/java/gui/MainMenu.java new file mode 100644 index 0000000000000000000000000000000000000000..17b787c3347b369f5fdd13a2f3616e5fa44731d1 --- /dev/null +++ b/src/main/java/gui/MainMenu.java @@ -0,0 +1,77 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package gui; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.GridLayout; +import javax.swing.BorderFactory; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; + +/** + * + * @author stag + */ +public class MainMenu extends JPanel { + + private JLabel menuLabel; + private JPanel topMenuPanel; + private JButton drawButton, mathButton, questButton, hideButton; + + public MainMenu() { + initGui(); + initEvent(); + + } + + private void initEvent() { + } + + private void initGui() { + + topMenuPanel = new JPanel(new BorderLayout()); + menuLabel = new JLabel("Menu Principal"); + menuLabel.setHorizontalAlignment(JLabel.CENTER); + menuLabel.setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY)); + hideButton = new JButton("<"); + hideButton.setPreferredSize(new Dimension(30, 30)); + topMenuPanel.add(menuLabel, BorderLayout.CENTER); + topMenuPanel.add(hideButton, BorderLayout.NORTH); + + drawButton = new JButton("Ardoise Magique"); + mathButton = new JButton("Test de maths"); + questButton = new JButton("Culture générale"); + + setLayout(new GridLayout(0, 1)); + //menuPanel.setBorder(BorderFactory.createLineBorder(Color.black)); + + add(topMenuPanel); + add(drawButton); + add(mathButton); + add(questButton); + + setPreferredSize(new Dimension(200, getHeight())); + } + + public JButton getDrawButton() { + return drawButton; + } + + public JButton getMathButton() { + return mathButton; + } + + public JButton getQuestButton() { + return questButton; + } + + public JButton getHideButton() { + return hideButton; + } + +} diff --git a/src/main/java/gui/QuestionsGui.java b/src/main/java/gui/QuestionsGui.java index 00d62d90ab685eb9214dcc1b4c9045d6fbf6e9f5..0becab004b09b8f94dac912dce7eb76c646223f9 100644 --- a/src/main/java/gui/QuestionsGui.java +++ b/src/main/java/gui/QuestionsGui.java @@ -6,6 +6,8 @@ package gui; import beans.Question; import dao.DaoQuestion; +import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; @@ -60,7 +62,7 @@ public class QuestionsGui extends JPanel { // Config labels: // Question - sLabel = new JLabel("" + q.getStatement() + ""); + sLabel = new JLabel(q.getStatement()); sLabel.setFont(labelFont); sLabel.setHorizontalAlignment(JLabel.CENTER); @@ -74,7 +76,7 @@ public class QuestionsGui extends JPanel { aLabel.setFont(helpFont); aLabel.setHorizontalAlignment(JLabel.CENTER); - atf = new JTextField(); + atf = new JTextField(5); // Paramétrage des dfférentes font confirmButton.setFont(buttonFont); @@ -89,23 +91,12 @@ public class QuestionsGui extends JPanel { private void initGui() { // Layout - questionsPane.setLayout(new BoxLayout(questionsPane, BoxLayout.Y_AXIS)); + questionsPane.setLayout(new BorderLayout()); answerPane.setLayout(new BoxLayout(answerPane, BoxLayout.Y_AXIS)); //Size - //questionsPane.setPreferredSize(new Dimension(600, 600)); - statmentPane.setPreferredSize(new Dimension(300, 50)); + statmentPane.setPreferredSize(new Dimension(600, 50)); helpPane.setPreferredSize(new Dimension(200, 50)); - //answerPane.setPreferredSize(new Dimension(50, 20)); - //buttonsPane.setPreferredSize(new Dimension(600, 150)); - - //Border - questionsPane.setBorder(BorderFactory.createEmptyBorder(30, 10, 10, 10)); - //this.setBorder(BorderFactory.createLineBorder(Color.green)); - //questionsPane.setBorder(BorderFactory.createLineBorder(Color.green)); - //statmentPane.setBorder(BorderFactory.createLineBorder(Color.yellow)); - //answerPane.setBorder(BorderFactory.createLineBorder(Color.green)); - //buttonsPane.setBorder(BorderFactory.createLineBorder(Color.blue)); //Ajout des composants //Question @@ -121,10 +112,10 @@ public class QuestionsGui extends JPanel { buttonsPane.add(nextButton); // Panneau principal de l'activité - questionsPane.add(statmentPane); - questionsPane.add(helpPane); - questionsPane.add(answerPane); - questionsPane.add(buttonsPane); + questionsPane.add(statmentPane, BorderLayout.NORTH); + questionsPane.add(helpPane, BorderLayout.CENTER); + questionsPane.add(answerPane, BorderLayout.CENTER); + questionsPane.add(buttonsPane, BorderLayout.SOUTH); // Pas sur pour ça this.add(questionsPane); @@ -164,7 +155,7 @@ public class QuestionsGui extends JPanel { hLabel.setText(""); System.out.println("bouton suivant\n Nombre de questions restantes:" + qlist.size()); if (!qlist.isEmpty()) { - // Si il reste des question dans la liste, on passa a la suivante + // Si il reste des question dans la liste, on passe à la suivante changeQuestion(); } else { // Sinon on réinjecte les questions de la bdd et zérapatis diff --git a/target/classes/beans/Drawing$DrawArea$1.class b/target/classes/beans/Drawing$DrawArea$1.class index 8010ec4c6b24722ecab7f797fdc34d6c9bd03767..2239d545ab2f88aad207e903b8058500bdd437e6 100644 Binary files a/target/classes/beans/Drawing$DrawArea$1.class and b/target/classes/beans/Drawing$DrawArea$1.class differ diff --git a/target/classes/beans/Drawing$DrawArea$2.class b/target/classes/beans/Drawing$DrawArea$2.class index 745683e2edc836a00c7804d82f1688bd7a4de34a..fcf52034f496a09d12fb88df37924e9b24729e18 100644 Binary files a/target/classes/beans/Drawing$DrawArea$2.class and b/target/classes/beans/Drawing$DrawArea$2.class differ diff --git a/target/classes/beans/Drawing$DrawArea.class b/target/classes/beans/Drawing$DrawArea.class index 5e2bf9fe2cd9e743b7059600e9060f33ca01913d..f5fcea423cf19a0fe6f7f506d5c7ed81c7c871a9 100644 Binary files a/target/classes/beans/Drawing$DrawArea.class and b/target/classes/beans/Drawing$DrawArea.class differ diff --git a/target/classes/beans/Drawing.class b/target/classes/beans/Drawing.class index 8446deb921d5b3066c847610903ca43ed4a29d4f..7f27ae2097e4af77efd5db3137274ea74deccc5c 100644 Binary files a/target/classes/beans/Drawing.class and b/target/classes/beans/Drawing.class differ diff --git a/target/classes/com/mycompany/groupe_05/Groupe_05.class b/target/classes/com/mycompany/groupe_05/Groupe_05.class index 78dca1628b6f5d3929f5e096eb60e2bce3725a62..a0eeebeb114dc683503b8f3fdb516b4ab30e50c9 100644 Binary files a/target/classes/com/mycompany/groupe_05/Groupe_05.class and b/target/classes/com/mycompany/groupe_05/Groupe_05.class differ diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 96a1727044974c1e373f5342d3b74bc31177d696..51a50c63f363737d4a216dea9db5b97190984448 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -5,11 +5,9 @@ beans/Drawing$DrawArea$2.class gui/QuestionsGui.class beans/Drawing$DrawArea.class gui/QuestionsGui$1.class -beans/Drawing$1.class sql/MariaDbConnection.class beans/Question.class beans/Drawing.class +gui/MainMenu.class com/mycompany/groupe_05/Groupe_05.class dao/DaoQuestion.class -beans/Drawing$DrawArea$3.class -gui/NewQuestion.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 5adef75360ee67528411fb0dbabbca57543eca81..e6a31d95b922001896a8b8ce7aefceceffebc3cf 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,9 +1,10 @@ -/home/stag/NetBeansProjects/projet_java/projet_groupe05/src/main/java/sql/MariaDbConnection.java -/home/stag/NetBeansProjects/projet_java/projet_groupe05/src/main/java/beans/Question.java -/home/stag/NetBeansProjects/projet_java/projet_groupe05/src/main/java/com/mycompany/groupe_05/TestFrame.java -/home/stag/NetBeansProjects/projet_java/projet_groupe05/src/main/java/dao/Dao.java -/home/stag/NetBeansProjects/projet_java/projet_groupe05/src/main/java/gui/NewQuestion.java -/home/stag/NetBeansProjects/projet_java/projet_groupe05/src/main/java/dao/DaoQuestion.java -/home/stag/NetBeansProjects/projet_java/projet_groupe05/src/main/java/gui/QuestionsGui.java -/home/stag/NetBeansProjects/projet_java/projet_groupe05/src/main/java/beans/Drawing.java -/home/stag/NetBeansProjects/projet_java/projet_groupe05/src/main/java/com/mycompany/groupe_05/Groupe_05.java +/home/stag/NetBeansProjects/projet_java/projet/projet_groupe05/src/main/java/beans/Question.java +/home/stag/NetBeansProjects/projet_java/projet/projet_groupe05/src/main/java/gui/QuestionsGui.java +/home/stag/NetBeansProjects/projet_java/projet/projet_groupe05/src/main/java/com/mycompany/groupe_05/Groupe_05.java +/home/stag/NetBeansProjects/projet_java/projet/projet_groupe05/src/main/java/dao/DaoQuestion.java +/home/stag/NetBeansProjects/projet_java/projet/projet_groupe05/src/main/java/sql/MariaDbConnection.java +/home/stag/NetBeansProjects/projet_java/projet/projet_groupe05/src/main/java/beans/Drawing.java +/home/stag/NetBeansProjects/projet_java/projet/projet_groupe05/src/main/java/dao/Dao.java +/home/stag/NetBeansProjects/projet_java/projet/projet_groupe05/src/main/java/gui/MainMenu.java +/home/stag/NetBeansProjects/projet_java/projet/projet_groupe05/src/main/java/com/mycompany/groupe_05/ContentFrame.java +/home/stag/NetBeansProjects/projet_java/projet/projet_groupe05/src/main/java/com/mycompany/groupe_05/TestFrame.java