diff --git a/FIProjetIHM2022.iml b/FIProjetIHM2022.iml
index 1313d69..57a8d21 100644
--- a/FIProjetIHM2022.iml
+++ b/FIProjetIHM2022.iml
@@ -1,8 +1,6 @@
-
-
-
+
@@ -10,7 +8,7 @@
-
+
\ No newline at end of file
diff --git a/out/production/FIProjetIHM2022/Test/AdminView.class b/out/production/FIProjetIHM2022/Test/AdminView.class
index b96a881..43be318 100644
Binary files a/out/production/FIProjetIHM2022/Test/AdminView.class and b/out/production/FIProjetIHM2022/Test/AdminView.class differ
diff --git a/out/production/FIProjetIHM2022/Test/BDatabase.class b/out/production/FIProjetIHM2022/Test/BDatabase.class
index d29a226..b2c74bb 100644
Binary files a/out/production/FIProjetIHM2022/Test/BDatabase.class and b/out/production/FIProjetIHM2022/Test/BDatabase.class differ
diff --git a/out/production/FIProjetIHM2022/Test/BFrame.class b/out/production/FIProjetIHM2022/Test/BFrame.class
index 0c4f3a5..511cc31 100644
Binary files a/out/production/FIProjetIHM2022/Test/BFrame.class and b/out/production/FIProjetIHM2022/Test/BFrame.class differ
diff --git a/out/production/FIProjetIHM2022/Test/Controller$1.class b/out/production/FIProjetIHM2022/Test/Controller$1.class
index f2eab1b..aef7f17 100644
Binary files a/out/production/FIProjetIHM2022/Test/Controller$1.class and b/out/production/FIProjetIHM2022/Test/Controller$1.class differ
diff --git a/out/production/FIProjetIHM2022/Test/Controller.class b/out/production/FIProjetIHM2022/Test/Controller.class
index 8654bd5..dea14a9 100644
Binary files a/out/production/FIProjetIHM2022/Test/Controller.class and b/out/production/FIProjetIHM2022/Test/Controller.class differ
diff --git a/out/production/FIProjetIHM2022/Test/ProfView$1.class b/out/production/FIProjetIHM2022/Test/ProfView$1.class
index 7603b24..82e1884 100644
Binary files a/out/production/FIProjetIHM2022/Test/ProfView$1.class and b/out/production/FIProjetIHM2022/Test/ProfView$1.class differ
diff --git a/out/production/FIProjetIHM2022/Test/ProfView.class b/out/production/FIProjetIHM2022/Test/ProfView.class
index f71b8f8..73233a2 100644
Binary files a/out/production/FIProjetIHM2022/Test/ProfView.class and b/out/production/FIProjetIHM2022/Test/ProfView.class differ
diff --git a/src/Test/AdminView.java b/src/Test/AdminView.java
index 58d5a61..92f41cd 100644
--- a/src/Test/AdminView.java
+++ b/src/Test/AdminView.java
@@ -2,6 +2,8 @@ package Test;
import API.Etudiant;
import API.Groupe;
+
+import java.awt.*;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JLabel;
@@ -15,6 +17,8 @@ public class AdminView extends JPanel {
public AdminView(ArrayList e, ArrayList g, Controller listener) {
super();
+ this.setLayout(new GridBagLayout());
+
this.listener = listener;
this.g = g;
this.e = e;
diff --git a/src/Test/BDatabase.java b/src/Test/BDatabase.java
index 60b4f54..9b093b5 100644
--- a/src/Test/BDatabase.java
+++ b/src/Test/BDatabase.java
@@ -219,6 +219,19 @@ public class BDatabase {
return listGroupe;
}
+ /**
+ *
+ * Recuperer le nombre de membre d'un groupe
+ *
+ * @param groupe_id le groupes
+ * @return le nombre de membre
+ * */
+ public int getMemberCount(int groupe_id) {
+ ArrayList forCount = this.fetchAll(
+ "SELECT nom FROM fi_eleves WHERE groupe=" + groupe_id);
+
+ return forCount.size();
+ }
/**
* Recuperer l'hote courant.
@@ -251,20 +264,4 @@ public class BDatabase {
public String toString() {
return this.db_host + "\n" + this.db_name + "\n" + this.db_user + "\n";
}
- /***
- * Recupere le nombre d'etudiant par groupe
- * @return
- */
- /**
-* Recuperer le nombre de membre d'un groupe
-*
-* @param groupe_id le groupes
-* @return le nombre de membre
-* */
-public int getMemberCount(int groupe_id) {
- ArrayList forCount = this.fetchAll(
- "SELECT nom FROM fi_eleves WHERE groupe=" + groupe_id);
-
- return forCount.size();
-}
}
\ No newline at end of file
diff --git a/src/Test/BFrame.java b/src/Test/BFrame.java
index 9569844..4d10cf0 100644
--- a/src/Test/BFrame.java
+++ b/src/Test/BFrame.java
@@ -108,7 +108,7 @@ public class BFrame extends JFrame {
* @param daron La fenetre qui va etre bloquer
* @param content Contenu de la fenetre
* */
- public BFrame(String title, int loca_x, int loca_y, int size_x, int size_y, BFrame daron, JPanel content) {
+ public BFrame(String title, int loca_x, int loca_y, int size_x, int size_y, JFrame daron, JPanel content) {
JDialog frame = new JDialog(daron, title, true);
frame.setLocation(loca_x, loca_y);
frame.setSize(size_x, size_y);
diff --git a/src/Test/Controller.java b/src/Test/Controller.java
index febd14e..e81c440 100644
--- a/src/Test/Controller.java
+++ b/src/Test/Controller.java
@@ -18,11 +18,11 @@ import java.util.Objects;
public class Controller implements ActionListener, ListSelectionListener {
private final BDatabase db;
- private ProfView pv = null;
- private AdminView av = null;
+ private ProfView pv;
+ private AdminView av;
+ private StudentView sv;
private BFrame currentModal;
-
- private MainMenu parent;
+ private JFrame parent;
private ArrayList e;
private ArrayList g;
@@ -32,17 +32,15 @@ public class Controller implements ActionListener, ListSelectionListener {
private ArrayList tmpStud;
- public Controller(BDatabase db, MainMenu frame) {
+ public Controller(BDatabase db) {
this.db = db;
this.e = this.db.getEtuList();
this.g = this.db.getGroupeList();
- parent = frame;
- // Les 3 fenetres s'ouvriront en meme temps (Pour le contexte du projet)
- //this.pv = new ProfView(this.e, this.g, this);
- //System.out.println("[+] Demarrage de la vue professeur -> " + this.pv);
- //this.av = new AdminView(this.e, this.g, this);
- //System.out.println("[+] Demarrage de la vue Administrateur -> " + this.av);
+ this.sv = new StudentView(this.e, this.g, this);
+ this.pv = new ProfView(this.e, this.g, this);
+ this.av = new AdminView(this.e, this.g, this);
+ this.parent = new MainMenu(this);
}
/**
@@ -58,11 +56,9 @@ public class Controller implements ActionListener, ListSelectionListener {
};
}
-
/**
* Pour afficher une JTable sans listener
*
- * @param parent La fenetre qui sera bloque
* @param frameTitle Le titre de la fenetre
* @param size_x Taille en x
* @param size_y Taille en y
@@ -81,13 +77,12 @@ public class Controller implements ActionListener, ListSelectionListener {
forModal.add(liste);
- BFrame frame = new BFrame(frameTitle, loca_x, loca_y, size_x, size_y, parent, forModal);
+ BFrame frame = new BFrame(frameTitle, loca_x, loca_y, size_x, size_y, this.parent, forModal);
}
/**
* Pour afficher une JTable contenant un listener
*
- * @param parent La fenetre qui sera bloque
* @param frameTitle Le titre de la fenetre
* @param size_x Taille en x
* @param size_y Taille en y
@@ -113,7 +108,6 @@ public class Controller implements ActionListener, ListSelectionListener {
/**
* Pour afficher une modale classique pour plus de liberte (panel a creer au prealable)
*
- * @param parent La fenetre qui sera bloque
* @param frameTitle Le titre de la fenetre
* @param size_x Taille en x
* @param size_y Taille en y
@@ -436,18 +430,16 @@ public class Controller implements ActionListener, ListSelectionListener {
}
}
-
- public void setAv (AdminView av) {
- if (this.av == null) {
- this.av = av;
- }
+ public ProfView getProfView() {
+ return this.pv;
}
+ public StudentView getStudentView() {
+ return this.sv;
+ }
- public void setPv (ProfView pv) {
- if (this.pv == null) {
- this.pv = pv;
- }
+ public AdminView getAdminView() {
+ return this.av;
}
diff --git a/src/Test/MainMenu.java b/src/Test/MainMenu.java
index f4469cf..319bfb9 100644
--- a/src/Test/MainMenu.java
+++ b/src/Test/MainMenu.java
@@ -6,50 +6,58 @@ import java.awt.event.ActionEvent;
public class MainMenu extends JFrame {
private final static Dimension MINIMUM_SIZE = new Dimension(960, 540);
- private CardLayout cards = new CardLayout();
+ private CardLayout cards;
+
private AdminView av;
+ private StudentView sv;
private ProfView pv;
+ private BLayout settings;
- private JButton[] buttonTab = {
- new JButton("Admin"),
- new JButton("Prof"),
- new JButton("Student")
- };
+ private final Controller listener;
+ private JButton[] buttonTab;
- public MainMenu() {
+ public MainMenu(Controller listener) {
super();
+
+ this.av = listener.getAdminView();
+ this.pv = listener.getProfView();
+ this.sv = listener.getStudentView();
+
+ this.cards = new CardLayout();
+
+ this.listener = listener;
+
+ this.buttonTab = new JButton[] {
+ new JButton("Admin"),
+ new JButton("Prof"),
+ new JButton("Student")
+ };
+
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setExtendedState(MAXIMIZED_BOTH);
this.setMinimumSize(MINIMUM_SIZE);
- init();
+ this.init();
this.setVisible(true);
}
private void init() {
- BDatabase db = new BDatabase();
- Controller listener = new Controller(db, this);
-
- av = new AdminView(listener.getEtudiants(), listener.getGroupes(), listener);
- pv = new ProfView(listener.getEtudiants(), listener.getGroupes(), listener);
-
- listener.setAv(av);
- listener.setPv(pv);
-
- this.setLayout(cards);
+ this.setLayout(this.cards);
this.add(first());
this.add(adminView());
this.add(profView());
+ this.add(studentView());
- cards.first(this.getContentPane());
+ this.cards.first(this.getContentPane());
}
private JPanel first() {
- JPanel mainPanel = new JPanel(), centerPanel = new JPanel();
+ JPanel mainPanel = new JPanel();
+ JPanel centerPanel = new JPanel();
Dimension buttonDimension = new Dimension(300, 50);
mainPanel.setLayout(new BorderLayout());
@@ -75,18 +83,22 @@ public class MainMenu extends JFrame {
private JPanel adminView() {
- JPanel mainPanel = new JPanel();
- mainPanel.add(av);
+ JPanel mainPanel = new JPanel(new GridBagLayout());
+ mainPanel.add(this.av, this.settings);
return mainPanel;
}
-
private JPanel profView() {
- JPanel mainPanel = new JPanel();
- mainPanel.add(pv);
+ JPanel mainPanel = new JPanel(new GridBagLayout());
+ mainPanel.add(this.pv, this.settings);
return mainPanel;
}
+ private JPanel studentView() {
+ JPanel mainPanel = new JPanel(new GridBagLayout());
+ mainPanel.add(this.sv, this.settings);
+ return mainPanel;
+ }
private void action(ActionEvent e) {
JButton origin = (JButton) e.getSource();
@@ -98,8 +110,13 @@ public class MainMenu extends JFrame {
} else if (origin.getText() == "Prof") {
cards.next(this.getContentPane());
cards.next(this.getContentPane());
+ } else if (origin.getText() == "Student") {
+ cards.next(this.getContentPane());
+ cards.next(this.getContentPane());
+ cards.next(this.getContentPane());
+ }
- } else {
+ else {
JOptionPane.showMessageDialog(null, "En travaux");
}
}
diff --git a/src/Test/ProfView.java b/src/Test/ProfView.java
index 2d8118a..c3f0718 100644
--- a/src/Test/ProfView.java
+++ b/src/Test/ProfView.java
@@ -8,9 +8,7 @@ import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
-import java.awt.Dimension;
-import java.awt.Insets;
-import java.awt.GridBagConstraints;
+import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
@@ -25,6 +23,8 @@ public class ProfView extends JPanel {
public ProfView(ArrayList e, ArrayList g, Controller listener) {
super();
+ this.setLayout(new GridBagLayout());
+
this.listener = listener;
this.e = e;
this.g = g;
diff --git a/src/Test/StudentView.java b/src/Test/StudentView.java
index 2a92a9f..d78fe98 100644
--- a/src/Test/StudentView.java
+++ b/src/Test/StudentView.java
@@ -8,23 +8,23 @@ import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
-import java.awt.Dimension;
-import java.awt.Insets;
-import java.awt.GridBagConstraints;
+import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
-public class ProfView extends JPanel {
+public class StudentView extends JPanel {
private final ArrayList e;
private final ArrayList g;
private final Controller listener;
private JComboBox groupeOption;
private JTextField text;
- public ProfView(ArrayList e, ArrayList g, Controller listener) {
+ public StudentView(ArrayList e, ArrayList g, Controller listener) {
super();
+ this.setLayout(new GridBagLayout());
+
this.listener = listener;
this.e = e;
this.g = g;
@@ -110,20 +110,16 @@ public class ProfView extends JPanel {
searchTLetters.addActionListener(this.listener);
searchTLetters.setActionCommand("pv::SearchStudentPer3Letters");
this.add(searchTLetters, settings);
+ settings.setAnchor(GridBagConstraints.CENTER);
+ settings.setPositionY(7);
+ this.add(new JLabel(" "), settings);
+
+ settings.setPositionY(8);
JButton changGrp = new JButton("Changer de groupe");
changGrp.addActionListener(this.listener);
this.add(changGrp, settings);
-
- if(this.db.insertRow(la_table, new String[]{"nom"}, new String[]{"felix"})) {
- Affiche "OUHRAA"
- } else {
- Affiche "Marche ap"
- }
this.repaint();
-
-
-
}
}