Ajout doc vue

This commit is contained in:
Mathis CHAIGNEAU 2022-12-04 19:24:40 +01:00
parent fae6867477
commit 888b12dc2a
24 changed files with 595 additions and 84 deletions

View File

@ -13,13 +13,28 @@ import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu; import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu;
import fr.iutfbleau.projetIHM2022FI2.API.Model; import fr.iutfbleau.projetIHM2022FI2.API.Model;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{ public class FenetreEtudiant{
//liste des étudiants
private Set<Etudiant> etu; private Set<Etudiant> etu;
// panel
private JPanel pan; private JPanel pan;
// l'étudiant sélectionné
private Etudiant concerner; private Etudiant concerner;
// model
private Model model; private Model model;
// tru si le groupe est une partition
private boolean partition; private boolean partition;
/**
* Constructeur de l'affichage des étudiants
* @param g le groupe
* @param m le model
* @param e l'étudiant sélectionné
*/
public FenetreEtudiant(Groupe g, Etudiant e, Model m){ public FenetreEtudiant(Groupe g, Etudiant e, Model m){
this.pan=new JPanel(); this.pan=new JPanel();
this.model=m; this.model=m;
@ -36,7 +51,9 @@ public class FenetreEtudiant{
} }
this.draw(); this.draw();
} }
/**
* Gère l'affichage des étudiants
*/
private void draw(){ private void draw(){
if(this.etu.size()!=0){ if(this.etu.size()!=0){
this.pan.setLayout(new GridLayout(this.etu.size(), 1, 30, 0)); this.pan.setLayout(new GridLayout(this.etu.size(), 1, 30, 0));
@ -54,12 +71,18 @@ public class FenetreEtudiant{
this.pan.add(new JLabel("Il n'y a pas d'étudiant")); this.pan.add(new JLabel("Il n'y a pas d'étudiant"));
} }
} }
/**
* rafraichit l'affichage.
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }

View File

@ -13,12 +13,27 @@ import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroup
import java.util.Set; import java.util.Set;
import java.awt.Color; import java.awt.Color;
/**
* Affichage d'un groupe
*
*/
public class FenetreGroupe{ public class FenetreGroupe{
private Groupe g; // le groupe affiché
private JPanel pan; private Groupe g;
private Model m; // le panel d'affichage
private JPanel pan;
// le modèle
private Model m;
// liste des sous groupes
private Set<Groupe> appartient; private Set<Groupe> appartient;
/**
* Constructeur de l'affichage d'un groupe
* @param g le groupe à afficher
* @param m le model
* @param appartient la liste des sous groupes
*
*/
public FenetreGroupe(Groupe g, Model m, Set<Groupe> appartient){ public FenetreGroupe(Groupe g, Model m, Set<Groupe> appartient){
super(); super();
this.g=g; this.g=g;
@ -27,14 +42,24 @@ public class FenetreGroupe{
this.pan=new JPanel(); this.pan=new JPanel();
this.draw(); this.draw();
} }
/**
* permet de récupérer le groupe affiché
* @return le groupe affiché
*/
public Groupe getG() { public Groupe getG() {
return this.g; return this.g;
} }
/**
* rafraichit l'affichage du groupe
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* gère l'affichage du groupe
*/
private void draw(){ private void draw(){
if(g!=null){ if(g!=null){
int taille=1; int taille=1;
@ -82,14 +107,24 @@ public class FenetreGroupe{
} }
} }
} }
/**
* permet de modifier le groupe affiché
* @param g le nouveau groupe à afficher
*/
public void setG(Groupe g) { public void setG(Groupe g) {
this.g = g; this.g = g;
} }
/**
* permet de modifier la liste des sous groupes
* @param appartient la nouvelle liste des sous groupes
*/
public void setAppartient(Set<Groupe> appartient) { public void setAppartient(Set<Groupe> appartient) {
this.appartient = appartient; this.appartient = appartient;
} }
/**
* Permet de récupérer le panel d'affichage.
* @return le panel d'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }

View File

@ -8,8 +8,17 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import javax.swing.JButton; import javax.swing.JButton;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
public class PanelEtudiant extends JPanel{ public class PanelEtudiant extends JPanel{
// bouton déplacement
private JButton deplacer; private JButton deplacer;
/**
* Constructeur du panel d'affichage d'un étudiant
* @param e l'étudiant à afficher
* @param concerner si l'étudiant à afficher est l'étudiant logué
*/
public PanelEtudiant(Etudiant e, boolean concerner){ public PanelEtudiant(Etudiant e, boolean concerner){
super(new GridLayout(1,2,20,10)); super(new GridLayout(1,2,20,10));
JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT); JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT);
@ -21,7 +30,10 @@ public class PanelEtudiant extends JPanel{
this.add(this.deplacer); this.add(this.deplacer);
} }
/**
* Ajoute un listener au bouton de changement de groupe
* @param a le listener
*/
public void addActionChangeListener(ActionListener a){ public void addActionChangeListener(ActionListener a){
this.deplacer.addActionListener(a); this.deplacer.addActionListener(a);
} }

View File

@ -11,11 +11,20 @@ import java.util.Set;
import fr.iutfbleau.projetIHM2022FI2.API.Etudiant; import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import fr.iutfbleau.projetIHM2022FI2.API.Groupe; import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{ public class FenetreEtudiant{
// liste des étudiants
private Set<Etudiant> etu; private Set<Etudiant> etu;
// panel
private JPanel pan; private JPanel pan;
/**
* Constructeur de l'affichage des étudiants
* @param g le groupe
*/
public FenetreEtudiant(Groupe g){ public FenetreEtudiant(Groupe g){
this.pan=new JPanel(); this.pan=new JPanel();
if(g!=null){ if(g!=null){
@ -25,7 +34,9 @@ public class FenetreEtudiant{
} }
this.draw(); this.draw();
} }
/**
* Gère l'affichage des étudiants
*/
private void draw(){ private void draw(){
if(this.etu.size()!=0){ if(this.etu.size()!=0){
this.pan.setLayout(new GridLayout(this.etu.size(), 1, 30, 0)); this.pan.setLayout(new GridLayout(this.etu.size(), 1, 30, 0));
@ -38,13 +49,18 @@ public class FenetreEtudiant{
this.pan.add(new JLabel("Il n'y a pas d'étudiant")); this.pan.add(new JLabel("Il n'y a pas d'étudiant"));
} }
} }
/**
* rafraichit l'affichage.
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }

View File

@ -11,11 +11,23 @@ import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
import fr.iutfbleau.projetIHM2022FI2.API.Model; import fr.iutfbleau.projetIHM2022FI2.API.Model;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe; import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe;
/**
* Affichage d'un groupe
*
*/
public class FenetreGroupe{ public class FenetreGroupe{
private Groupe g; // le groupe affiché
private JPanel pan; private Groupe g;
private Model m; // le panel d'affichage
private JPanel pan;
// le modèle
private Model m;
/**
* Constructeur de l'affichage d'un groupe
* @param g le groupe à afficher
* @param m le model
*/
public FenetreGroupe(Groupe g, Model m){ public FenetreGroupe(Groupe g, Model m){
super(); super();
this.g=g; this.g=g;
@ -23,14 +35,24 @@ public class FenetreGroupe{
this.pan=new JPanel(); this.pan=new JPanel();
this.draw(); this.draw();
} }
/**
* permet de récupérer le groupe affiché
* @return le groupe affiché
*/
public Groupe getG() { public Groupe getG() {
return this.g; return this.g;
} }
/**
* rafraichit l'affichage du groupe
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* gère l'affichage du groupe
*/
private void draw(){ private void draw(){
if(g!=null){ if(g!=null){
int taille=1; int taille=1;
@ -67,11 +89,17 @@ public class FenetreGroupe{
} }
} }
} }
/**
* permet de modifier le groupe affiché
* @param g le nouveau groupe à afficher
*/
public void setG(Groupe g) { public void setG(Groupe g) {
this.g = g; this.g = g;
} }
/**
* Permet de récupérer le panel d'affichage.
* @return le panel d'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }

View File

@ -7,6 +7,10 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import java.awt.*; import java.awt.*;
public class PanelEtudiant extends JPanel{ public class PanelEtudiant extends JPanel{
/**
* Constructeur du panel d'affichage d'un étudiant
* @param e l'étudiant à afficher
*/
public PanelEtudiant(Etudiant e){ public PanelEtudiant(Etudiant e){
super(new GridLayout(1,1,20, 20)); super(new GridLayout(1,1,20, 20));
JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT); JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT);

View File

@ -10,16 +10,30 @@ import fr.iutfbleau.projetIHM2022FI2.API.AbstractChangementFactory;
import fr.iutfbleau.projetIHM2022FI2.API.Changement; import fr.iutfbleau.projetIHM2022FI2.API.Changement;
import fr.iutfbleau.projetIHM2022FI2.API.Model; import fr.iutfbleau.projetIHM2022FI2.API.Model;
import fr.iutfbleau.projetIHM2022FI2.MNP.ROOT.Controller.ActionChangement; import fr.iutfbleau.projetIHM2022FI2.MNP.ROOT.Controller.ActionChangement;
/**
* Affichage des changements
*
*/
public class FenetreChangement extends JPanel{ public class FenetreChangement extends JPanel{
private AbstractChangementFactory change; // le changement a afficher
private AbstractChangementFactory change;
// le modèle
private Model m; private Model m;
/**
* Constructeur de l'affichage de changements
* @param list la liste des changements
* @param m le mlodèle
*/
public FenetreChangement(AbstractChangementFactory list, Model m){ public FenetreChangement(AbstractChangementFactory list, Model m){
this.change=list; this.change=list;
this.m=m; this.m=m;
this.draw(); this.draw();
} }
/**
* gère l'affichage des changements
*/
public void draw(){ public void draw(){
if(this.change==null || this.change.getAllChangements().size()==0){ if(this.change==null || this.change.getAllChangements().size()==0){
this.setBackground(Color.RED); this.setBackground(Color.RED);
@ -52,7 +66,9 @@ public class FenetreChangement extends JPanel{
} }
} }
} }
/**
* rafraichit l'affichage
*/
public void refresh(){ public void refresh(){
this.removeAll(); this.removeAll();
this.draw(); this.draw();

View File

@ -17,12 +17,25 @@ import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ActionListenerSuprEtu;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu; import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu;
import fr.iutfbleau.projetIHM2022FI2.API.Model; import fr.iutfbleau.projetIHM2022FI2.API.Model;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{ public class FenetreEtudiant{
//liste des étudiants
private Set<Etudiant> etu; private Set<Etudiant> etu;
// model
private Model m; private Model m;
// panel
private JPanel pan; private JPanel pan;
// le type de groupe
private TypeGroupe type; private TypeGroupe type;
/**
* Constructeur de l'affichage des étudiants
* @param g le groupe
* @param m le model
*/
public FenetreEtudiant(Groupe g, Model m){ public FenetreEtudiant(Groupe g, Model m){
this.pan=new JPanel(); this.pan=new JPanel();
this.m=m; this.m=m;
@ -35,7 +48,9 @@ public class FenetreEtudiant{
} }
this.draw(); this.draw();
} }
/**
* Gère l'affichage des étudiants;
*/
private void draw(){ private void draw(){
if(this.etu.size()!=0){ if(this.etu.size()!=0){
this.pan.setLayout(new GridLayout(this.etu.size()+1, 1, 10, 0)); this.pan.setLayout(new GridLayout(this.etu.size()+1, 1, 10, 0));
@ -64,16 +79,25 @@ public class FenetreEtudiant{
this.pan.add(new JLabel("Il n'y a pas d'étudiant")); this.pan.add(new JLabel("Il n'y a pas d'étudiant"));
} }
} }
/**
* rafraichit l'affichage.
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }
/**
* permet d'afficher la liste des demandes de changement
*/
public void listChange(){ public void listChange(){
this.m.listChange(); this.m.listChange();
} }

View File

@ -14,11 +14,23 @@ import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ObservateurModifGroupe;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe; import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe;
import fr.iutfbleau.projetIHM2022FI2.API.Model; import fr.iutfbleau.projetIHM2022FI2.API.Model;
/**
* Affichage d'un groupe
*
*/
public class FenetreGroupe{ public class FenetreGroupe{
// le groupe affiché
private Groupe g; private Groupe g;
// le panel d'affichage
private JPanel pan; private JPanel pan;
// le modèle
private Model m; private Model m;
/**
* Constructeur de l'affichage d'un groupe
* @param g le groupe à afficher
* @param m le model
*/
public FenetreGroupe(Groupe g, Model m){ public FenetreGroupe(Groupe g, Model m){
super(); super();
this.g=g; this.g=g;
@ -26,14 +38,24 @@ public class FenetreGroupe{
this.pan=new JPanel(); this.pan=new JPanel();
this.draw(); this.draw();
} }
/**
* permet de récupérer le groupe affiché
* @return le groupe affiché
*/
public Groupe getG() { public Groupe getG() {
return this.g; return this.g;
} }
/**
* rafraichit l'affichage du groupe
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* gère l'affichage du groupe
*/
private void draw(){ private void draw(){
if(g!=null){ if(g!=null){
int taille=5; int taille=5;
@ -88,11 +110,17 @@ public class FenetreGroupe{
this.pan.add(creer); this.pan.add(creer);
} }
} }
/**
* permet de modifier le groupe affiché
* @param g le nouveau groupe à afficher
*/
public void setG(Groupe g) { public void setG(Groupe g) {
this.g = g; this.g = g;
} }
/**
* Permet de récupérer le panel d'affichage.
* @return le panel d'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }

View File

@ -13,9 +13,23 @@ import javax.swing.JButton;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
/**
* Affichage de la selection des etudiants
*
*/
public class FenetreSelectionEtu extends JPanel{ public class FenetreSelectionEtu extends JPanel{
// liste des étudiants à ajouter
private Set<Etudiant> liste; private Set<Etudiant> liste;
// liste de tous les étudiants
private Set<Etudiant> etu; private Set<Etudiant> etu;
/**
* Constructeur de l'affichage de la selection des étudiants
* @param g le groupe
* @param liste la liste des étudiants à ajouter
* @param supression savoir si il faut supprimer les étudiants du groupe de la liste
* @param etu0 la liste de tous les
*/
public FenetreSelectionEtu(Groupe g, Set<Etudiant> liste, boolean supression, Set<Etudiant> etu0){ public FenetreSelectionEtu(Groupe g, Set<Etudiant> liste, boolean supression, Set<Etudiant> etu0){
super(); super();
this.etu=etu0; this.etu=etu0;
@ -32,7 +46,10 @@ public class FenetreSelectionEtu extends JPanel{
this.liste=liste; this.liste=liste;
this.draw(); this.draw();
} }
/**
* Ajoute un étudiant à la sélection
* @param index l'index de l'étudiant
*/
public void addList(int index){ public void addList(int index){
int i=0; int i=0;
for(Etudiant e:this.etu){ for(Etudiant e:this.etu){
@ -43,7 +60,10 @@ public class FenetreSelectionEtu extends JPanel{
i++; i++;
} }
} }
/**
* Retire un étudiant de la sélection
* @param index l'index de l'étudiant
*/
public void removeList(int index){ public void removeList(int index){
int i=0; int i=0;
for(Etudiant e:this.etu){ for(Etudiant e:this.etu){
@ -54,7 +74,11 @@ public class FenetreSelectionEtu extends JPanel{
i++; i++;
} }
} }
/**
* Ajoute un étudiant à la liste de tous les étudiants
* @param nom le nom de l'étudiant
* @param prenom le prénom de l'étudiant
*/
public void addEtudiant(String nom, String prenom){ public void addEtudiant(String nom, String prenom){
if(nom.length()==0 || prenom.length()==0){ if(nom.length()==0 || prenom.length()==0){
JOptionPane.showMessageDialog(this, "le nom/prenom ne peut pas être null"); JOptionPane.showMessageDialog(this, "le nom/prenom ne peut pas être null");
@ -65,7 +89,9 @@ public class FenetreSelectionEtu extends JPanel{
this.draw(); this.draw();
this.revalidate(); this.revalidate();
} }
/**
* gère l'affichage de la sélection
*/
private void draw(){ private void draw(){
this.setLayout(new GridLayout(this.etu.size()/5+1, 4)); this.setLayout(new GridLayout(this.etu.size()/5+1, 4));
int index=0; int index=0;
@ -83,7 +109,9 @@ public class FenetreSelectionEtu extends JPanel{
all.addActionListener(new ActionListenerNouveauEtu(this)); all.addActionListener(new ActionListenerNouveauEtu(this));
this.add(nouveau); this.add(nouveau);
} }
/**
* Ajoute tous les étudiants à la liste des étudiants sélectionnés
*/
public void addAll(){ public void addAll(){
if(this.getComponent(this.etu.size()).getBackground()==Color.GREEN){ if(this.getComponent(this.etu.size()).getBackground()==Color.GREEN){
int i=0; int i=0;

View File

@ -14,11 +14,22 @@ import java.awt.Dimension;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.util.Set; import java.util.Set;
/**
* barre de recherche d'etudiant
*
*/
public class FindBarFenetre { public class FindBarFenetre {
private JPanel mypanel; // panel de la barre de recherche
private Model m; private JPanel mypanel;
private Set<Etudiant> liste; // model
private Model m;
//liste des étudiants trouvés
private Set<Etudiant> liste;
/**
* constructeur de la barre de recherche
* @param m le model
*/
public FindBarFenetre(Model m){ public FindBarFenetre(Model m){
this.liste=null; this.liste=null;
this.m=m; this.m=m;
@ -26,6 +37,9 @@ public class FindBarFenetre {
this.draw(); this.draw();
} }
/**
* gère l'affichage de la barre de recherche
*/
private void draw(){ private void draw(){
JTextField searchField = new JTextField(30); JTextField searchField = new JTextField(30);
searchField.setLayout(new BorderLayout()); searchField.setLayout(new BorderLayout());
@ -48,18 +62,27 @@ public class FindBarFenetre {
} }
mypanel.setSize(new Dimension(500, 500)); mypanel.setSize(new Dimension(500, 500));
} }
/**
* retourne le panel de la barre de recherche
* @return le panel de la barre de recherche
*/
public JPanel getPanel() { public JPanel getPanel() {
return mypanel; return mypanel;
} }
/**
* recherche un étudiant par son nom
* @param name le nom de l'étudiant
*/
public void search(String name){ public void search(String name){
this.liste=this.m.getEtu(name); this.liste=this.m.getEtu(name);
this.mypanel.removeAll(); this.mypanel.removeAll();
this.draw(); this.draw();
this.mypanel.revalidate(); this.mypanel.revalidate();
} }
/**
* affiche le groupe d'un étudiant
* @param toshow l'étudiant dont on veut afficher le groupe
*/
public void showGroupe(Etudiant toshow){ public void showGroupe(Etudiant toshow){
this.m.showGroupOfEtudiant(toshow); this.m.showGroupOfEtudiant(toshow);
} }

View File

@ -8,9 +8,23 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import javax.swing.JButton; import javax.swing.JButton;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
/**
* Panel d'affichage d'un étudiant
*
*/
public class PanelEtudiant extends JPanel{ public class PanelEtudiant extends JPanel{
// bouton suppression
private JButton supprimer; private JButton supprimer;
// bouton déplacement
private JButton deplacer; private JButton deplacer;
/**
* Constructeur du panel d'affichage d'un étudiant
* @param e l'étudiant à afficher
* @param change si l'étudiant peut être déplacé
*/
public PanelEtudiant(Etudiant e, boolean change){ public PanelEtudiant(Etudiant e, boolean change){
super(new GridLayout(1,2,20,10)); super(new GridLayout(1,2,20,10));
JPanel bouton=new JPanel(new GridLayout(1,2)); JPanel bouton=new JPanel(new GridLayout(1,2));
@ -26,10 +40,18 @@ public class PanelEtudiant extends JPanel{
this.add(bouton); this.add(bouton);
} }
/**
* Ajoute un listener au bouton de suppression
* @param a le listener
*/
public void addActionDeleteListener(ActionListener a){ public void addActionDeleteListener(ActionListener a){
this.supprimer.addActionListener(a); this.supprimer.addActionListener(a);
} }
/**
* Ajoute un listener au bouton de changement de groupe
* @param a le listener
*/
public void addActionChangeListener(ActionListener a){ public void addActionChangeListener(ActionListener a){
this.deplacer.addActionListener(a); this.deplacer.addActionListener(a);
} }

View File

@ -14,13 +14,28 @@ import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu; import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu;
import fr.iutfbleau.projetIHM2022FI2.API.Model; import fr.iutfbleau.projetIHM2022FI2.API.Model;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{ public class FenetreEtudiant{
//liste des étudiants
private Set<Etudiant> etu; private Set<Etudiant> etu;
// panel
private JPanel pan; private JPanel pan;
// l'étudiant sélectionné
private Etudiant concerner; private Etudiant concerner;
// model
private Model model; private Model model;
// tru si le groupe est une partition
private boolean partition; private boolean partition;
/**
* Constructeur de l'affichage des étudiants
* @param g le groupe
* @param m le model
* @param e l'étudiant sélectionné
*/
public FenetreEtudiant(Groupe g, Etudiant e, Model m){ public FenetreEtudiant(Groupe g, Etudiant e, Model m){
this.pan=new JPanel(); this.pan=new JPanel();
this.model=m; this.model=m;
@ -37,7 +52,9 @@ public class FenetreEtudiant{
} }
this.draw(); this.draw();
} }
/**
* Gère l'affichage des étudiants
*/
private void draw(){ private void draw(){
if(this.etu.size()!=0){ if(this.etu.size()!=0){
this.pan.setLayout(new GridLayout(this.etu.size(), 1, 30, 0)); this.pan.setLayout(new GridLayout(this.etu.size(), 1, 30, 0));
@ -55,12 +72,19 @@ public class FenetreEtudiant{
this.pan.add(new JLabel("Il n'y a pas d'étudiant")); this.pan.add(new JLabel("Il n'y a pas d'étudiant"));
} }
} }
/**
* rafraichit l'affichage.
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }

View File

@ -14,11 +14,27 @@ import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroup
import java.util.Set; import java.util.Set;
import java.awt.Color; import java.awt.Color;
/**
* Affichage d'un groupe
*
*/
public class FenetreGroupe{ public class FenetreGroupe{
private Groupe g; // le groupe affiché
private JPanel pan; private Groupe g;
private Model m; // le panel d'affichage
private JPanel pan;
// le modèle
private Model m;
// liste des sous groupes
private Set<Groupe> appartient; private Set<Groupe> appartient;
/**
* Constructeur de l'affichage d'un groupe
* @param g le groupe à afficher
* @param m le model
* @param appartient la liste des sous groupes
*
*/
public FenetreGroupe(Groupe g, Model m, Set<Groupe> appartient){ public FenetreGroupe(Groupe g, Model m, Set<Groupe> appartient){
super(); super();
this.g=g; this.g=g;
@ -27,14 +43,24 @@ public class FenetreGroupe{
this.pan=new JPanel(); this.pan=new JPanel();
this.draw(); this.draw();
} }
/**
* permet de récupérer le groupe affiché
* @return le groupe affiché
*/
public Groupe getG() { public Groupe getG() {
return this.g; return this.g;
} }
/**
* rafraichit l'affichage du groupe
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* gère l'affichage du groupe
*/
private void draw(){ private void draw(){
if(g!=null){ if(g!=null){
int taille=1; int taille=1;
@ -82,14 +108,24 @@ public class FenetreGroupe{
} }
} }
} }
/**
* permet de modifier le groupe affiché
* @param g le nouveau groupe à afficher
*/
public void setG(Groupe g) { public void setG(Groupe g) {
this.g = g; this.g = g;
} }
/**
* permet de modifier la liste des sous groupes
* @param appartient la nouvelle liste des sous groupes
*/
public void setAppartient(Set<Groupe> appartient) { public void setAppartient(Set<Groupe> appartient) {
this.appartient = appartient; this.appartient = appartient;
} }
/**
* Permet de récupérer le panel d'affichage.
* @return le panel d'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }

View File

@ -8,8 +8,17 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import javax.swing.JButton; import javax.swing.JButton;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
public class PanelEtudiant extends JPanel{ public class PanelEtudiant extends JPanel{
// bouton déplacement
private JButton deplacer; private JButton deplacer;
/**
* Constructeur du panel d'affichage d'un étudiant
* @param e l'étudiant à afficher
* @param concerner si l'étudiant à afficher est l'étudiant logué
*/
public PanelEtudiant(Etudiant e, boolean concerner){ public PanelEtudiant(Etudiant e, boolean concerner){
super(new GridLayout(1,2,20,10)); super(new GridLayout(1,2,20,10));
JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT); JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT);
@ -22,6 +31,10 @@ public class PanelEtudiant extends JPanel{
} }
/**
* Ajoute un listener au bouton de changement de groupe
* @param a le listener
*/
public void addActionChangeListener(ActionListener a){ public void addActionChangeListener(ActionListener a){
this.deplacer.addActionListener(a); this.deplacer.addActionListener(a);
} }

View File

@ -11,11 +11,20 @@ import java.util.Set;
import fr.iutfbleau.projetIHM2022FI2.API.Etudiant; import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import fr.iutfbleau.projetIHM2022FI2.API.Groupe; import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{ public class FenetreEtudiant{
private Set<Etudiant> etu; // liste des étudiants
private Set<Etudiant> etu;
// panel
private JPanel pan; private JPanel pan;
/**
* Constructeur de l'affichage des étudiants
* @param g le groupe
*/
public FenetreEtudiant(Groupe g){ public FenetreEtudiant(Groupe g){
this.pan=new JPanel(); this.pan=new JPanel();
if(g!=null){ if(g!=null){
@ -25,7 +34,9 @@ public class FenetreEtudiant{
} }
this.draw(); this.draw();
} }
/**
* Gère l'affichage des étudiants
*/
private void draw(){ private void draw(){
if(this.etu.size()!=0){ if(this.etu.size()!=0){
this.pan.setLayout(new GridLayout(this.etu.size(), 1, 30, 0)); this.pan.setLayout(new GridLayout(this.etu.size(), 1, 30, 0));
@ -38,13 +49,18 @@ public class FenetreEtudiant{
this.pan.add(new JLabel("Il n'y a pas d'étudiant")); this.pan.add(new JLabel("Il n'y a pas d'étudiant"));
} }
} }
/**
* rafraichit l'affichage.
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }

View File

@ -11,11 +11,23 @@ import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
import fr.iutfbleau.projetIHM2022FI2.API.Model; import fr.iutfbleau.projetIHM2022FI2.API.Model;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe; import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe;
/**
* Affichage d'un groupe
*
*/
public class FenetreGroupe{ public class FenetreGroupe{
private Groupe g; // le groupe affiché
private JPanel pan; private Groupe g;
private Model m; // le panel d'affichage
private JPanel pan;
// le modèle
private Model m;
/**
* Constructeur de l'affichage d'un groupe
* @param g le groupe à afficher
* @param m le model
*/
public FenetreGroupe(Groupe g, Model m){ public FenetreGroupe(Groupe g, Model m){
super(); super();
this.g=g; this.g=g;
@ -23,14 +35,24 @@ public class FenetreGroupe{
this.pan=new JPanel(); this.pan=new JPanel();
this.draw(); this.draw();
} }
/**
* permet de récupérer le groupe affiché
* @return le groupe affiché
*/
public Groupe getG() { public Groupe getG() {
return this.g; return this.g;
} }
/**
* rafraichit l'affichage du groupe
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* gère l'affichage du groupe
*/
private void draw(){ private void draw(){
if(g!=null){ if(g!=null){
int taille=1; int taille=1;
@ -67,11 +89,17 @@ public class FenetreGroupe{
} }
} }
} }
/**
* permet de modifier le groupe affiché
* @param g le nouveau groupe à afficher
*/
public void setG(Groupe g) { public void setG(Groupe g) {
this.g = g; this.g = g;
} }
/**
* Permet de récupérer le panel d'affichage.
* @return le panel d'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }

View File

@ -7,6 +7,11 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import java.awt.*; import java.awt.*;
public class PanelEtudiant extends JPanel{ public class PanelEtudiant extends JPanel{
/**
* Constructeur du panel d'affichage d'un étudiant
* @param e l'étudiant à afficher
* @param change si l'étudiant peut être déplacé
*/
public PanelEtudiant(Etudiant e){ public PanelEtudiant(Etudiant e){
super(new GridLayout(1,1,20, 20)); super(new GridLayout(1,1,20, 20));
JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT); JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT);

View File

@ -10,16 +10,30 @@ import fr.iutfbleau.projetIHM2022FI2.API.AbstractChangementFactory;
import fr.iutfbleau.projetIHM2022FI2.API.Changement; import fr.iutfbleau.projetIHM2022FI2.API.Changement;
import fr.iutfbleau.projetIHM2022FI2.API.Model; import fr.iutfbleau.projetIHM2022FI2.API.Model;
import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ActionChangement; import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ActionChangement;
/**
* Affichage des changements
*
*/
public class FenetreChangement extends JPanel{ public class FenetreChangement extends JPanel{
// les changements a afficher
private AbstractChangementFactory change; private AbstractChangementFactory change;
// le modèle
private Model m; private Model m;
/**
* Constructeur de l'affichage des changements
* @param list la liste des changements
* @param m le mlodèle
*/
public FenetreChangement(AbstractChangementFactory list, Model m){ public FenetreChangement(AbstractChangementFactory list, Model m){
this.change=list; this.change=list;
this.m=m; this.m=m;
this.draw(); this.draw();
} }
/**
* gère l'affichage des changements
*/
public void draw(){ public void draw(){
if(this.change==null || this.change.getAllChangements().size()==0){ if(this.change==null || this.change.getAllChangements().size()==0){
this.setBackground(Color.RED); this.setBackground(Color.RED);
@ -52,7 +66,9 @@ public class FenetreChangement extends JPanel{
} }
} }
} }
/**
* rafraichit l'affichage
*/
public void refresh(){ public void refresh(){
this.removeAll(); this.removeAll();
this.draw(); this.draw();

View File

@ -17,12 +17,25 @@ import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ActionListenerSuprEtu;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu; import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu;
import fr.iutfbleau.projetIHM2022FI2.API.Model; import fr.iutfbleau.projetIHM2022FI2.API.Model;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{ public class FenetreEtudiant{
//liste des étudiants
private Set<Etudiant> etu; private Set<Etudiant> etu;
// model
private Model m; private Model m;
// panel
private JPanel pan; private JPanel pan;
// le type de groupe
private TypeGroupe type; private TypeGroupe type;
/**
* Constructeur de l'affichage des étudiants
* @param g le groupe
* @param m le model
*/
public FenetreEtudiant(Groupe g, Model m){ public FenetreEtudiant(Groupe g, Model m){
this.pan=new JPanel(); this.pan=new JPanel();
this.m=m; this.m=m;
@ -35,7 +48,9 @@ public class FenetreEtudiant{
} }
this.draw(); this.draw();
} }
/**
* Gère l'affichage des étudiants
*/
private void draw(){ private void draw(){
if(this.etu.size()!=0){ if(this.etu.size()!=0){
this.pan.setLayout(new GridLayout(this.etu.size()+1, 1, 10, 0)); this.pan.setLayout(new GridLayout(this.etu.size()+1, 1, 10, 0));
@ -64,16 +79,24 @@ public class FenetreEtudiant{
this.pan.add(new JLabel("Il n'y a pas d'étudiant")); this.pan.add(new JLabel("Il n'y a pas d'étudiant"));
} }
} }
/**
* rafraichit l'affichage.
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }
/**
* permet d'afficher la liste des demandes de changement
*/
public void listChange(){ public void listChange(){
this.m.listChange(); this.m.listChange();
} }

View File

@ -14,11 +14,23 @@ import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ObservateurModifGroupe;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe; import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe;
import fr.iutfbleau.projetIHM2022FI2.API.Model; import fr.iutfbleau.projetIHM2022FI2.API.Model;
/**
* Affichage d'un groupe
*
*/
public class FenetreGroupe{ public class FenetreGroupe{
private Groupe g; // le groupe affiché
private JPanel pan; private Groupe g;
private Model m; // le panel d'affichage
private JPanel pan;
// le modèle
private Model m;
/**
* Constructeur de l'affichage d'un groupe
* @param g le groupe à afficher
* @param m le model
*/
public FenetreGroupe(Groupe g, Model m){ public FenetreGroupe(Groupe g, Model m){
super(); super();
this.g=g; this.g=g;
@ -26,14 +38,24 @@ public class FenetreGroupe{
this.pan=new JPanel(); this.pan=new JPanel();
this.draw(); this.draw();
} }
/**
* permet de récupérer le groupe affiché
* @return le groupe affiché
*/
public Groupe getG() { public Groupe getG() {
return this.g; return this.g;
} }
/**
* rafraichit l'affichage du groupe
*/
public void refresh(){ public void refresh(){
this.pan.removeAll(); this.pan.removeAll();
this.draw(); this.draw();
this.pan.revalidate(); this.pan.revalidate();
} }
/**
* gère l'affichage du groupe
*/
private void draw(){ private void draw(){
if(g!=null){ if(g!=null){
int taille=5; int taille=5;
@ -88,11 +110,17 @@ public class FenetreGroupe{
this.pan.add(creer); this.pan.add(creer);
} }
} }
/**
* permet de modifier le groupe affiché
* @param g le nouveau groupe à afficher
*/
public void setG(Groupe g) { public void setG(Groupe g) {
this.g = g; this.g = g;
} }
/**
* Permet de récupérer le panel d'affichage.
* @return le panel d'affichage
*/
public JPanel getPan() { public JPanel getPan() {
return pan; return pan;
} }

View File

@ -13,9 +13,21 @@ import javax.swing.JButton;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
public class FenetreSelectionEtu extends JPanel{ public class FenetreSelectionEtu extends JPanel{
private Set<Etudiant> liste; // liste des étudiants à ajouter
private Set<Etudiant> etu; private Set<Etudiant> liste;
// liste de tous les étudiants
private Set<Etudiant> etu;
/**
* Constructeur de l'affichage de la selection des étudiants
* @param g le groupe
* @param liste la liste des étudiants à ajouter
* @param supression savoir si il faut supprimer les étudiants du groupe de la liste
* @param etu0 la liste de tous les
*/
public FenetreSelectionEtu(Groupe g, Set<Etudiant> liste, boolean supression, Set<Etudiant> etu0){ public FenetreSelectionEtu(Groupe g, Set<Etudiant> liste, boolean supression, Set<Etudiant> etu0){
super(); super();
this.etu=etu0; this.etu=etu0;
@ -32,7 +44,10 @@ public class FenetreSelectionEtu extends JPanel{
this.liste=liste; this.liste=liste;
this.draw(); this.draw();
} }
/**
* Ajoute un étudiant à la sélection
* @param index l'index de l'étudiant
*/
public void addList(int index){ public void addList(int index){
int i=0; int i=0;
for(Etudiant e:this.etu){ for(Etudiant e:this.etu){
@ -43,7 +58,10 @@ public class FenetreSelectionEtu extends JPanel{
i++; i++;
} }
} }
/**
* Retire un étudiant de la sélection
* @param index l'index de l'étudiant
*/
public void removeList(int index){ public void removeList(int index){
int i=0; int i=0;
for(Etudiant e:this.etu){ for(Etudiant e:this.etu){
@ -54,7 +72,11 @@ public class FenetreSelectionEtu extends JPanel{
i++; i++;
} }
} }
/**
* Ajoute un étudiant à la liste de tous les étudiants
* @param nom le nom de l'étudiant
* @param prenom le prénom de l'étudiant
*/
public void addEtudiant(String nom, String prenom){ public void addEtudiant(String nom, String prenom){
if(nom.length()==0 || prenom.length()==0){ if(nom.length()==0 || prenom.length()==0){
JOptionPane.showMessageDialog(this, "le nom/prenom ne peut pas être null"); JOptionPane.showMessageDialog(this, "le nom/prenom ne peut pas être null");
@ -65,7 +87,9 @@ public class FenetreSelectionEtu extends JPanel{
this.draw(); this.draw();
this.revalidate(); this.revalidate();
} }
/**
* gère l'affichage de la sélection
*/
private void draw(){ private void draw(){
this.setLayout(new GridLayout(this.etu.size()/5+1, 4)); this.setLayout(new GridLayout(this.etu.size()/5+1, 4));
int index=0; int index=0;
@ -83,7 +107,9 @@ public class FenetreSelectionEtu extends JPanel{
all.addActionListener(new ActionListenerNouveauEtu(this)); all.addActionListener(new ActionListenerNouveauEtu(this));
this.add(nouveau); this.add(nouveau);
} }
/**
* Ajoute tous les étudiants à la liste des étudiants sélectionnés
*/
public void addAll(){ public void addAll(){
if(this.getComponent(this.etu.size()).getBackground()==Color.GREEN){ if(this.getComponent(this.etu.size()).getBackground()==Color.GREEN){
int i=0; int i=0;

View File

@ -14,18 +14,31 @@ import java.awt.Dimension;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.util.Set; import java.util.Set;
/**
* barre de recherche d'etudiant
*
*/
public class FindBarFenetre { public class FindBarFenetre {
// panel de la barre de recherche
private JPanel mypanel; private JPanel mypanel;
// model
private Model m; private Model m;
//liste des étudiants trouvés
private Set<Etudiant> liste; private Set<Etudiant> liste;
/**
* constructeur de la barre de recherche
* @param m le model
*/
public FindBarFenetre(Model m){ public FindBarFenetre(Model m){
this.liste=null; this.liste=null;
this.m=m; this.m=m;
this.mypanel=new JPanel(); this.mypanel=new JPanel();
this.draw(); this.draw();
} }
/**
* gère l'affichage de la barre de recherche
*/
private void draw(){ private void draw(){
JTextField searchField = new JTextField(30); JTextField searchField = new JTextField(30);
searchField.setLayout(new BorderLayout()); searchField.setLayout(new BorderLayout());
@ -48,11 +61,17 @@ public class FindBarFenetre {
} }
mypanel.setSize(new Dimension(500, 500)); mypanel.setSize(new Dimension(500, 500));
} }
/**
* retourne le panel de la barre de recherche
* @return le panel de la barre de recherche
*/
public JPanel getPanel() { public JPanel getPanel() {
return mypanel; return mypanel;
} }
/**
* recherche un étudiant par son nom
* @param name le nom de l'étudiant
*/
public void search(String name){ public void search(String name){
this.liste=this.m.getEtu(name); this.liste=this.m.getEtu(name);
this.mypanel.removeAll(); this.mypanel.removeAll();

View File

@ -8,9 +8,20 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import javax.swing.JButton; import javax.swing.JButton;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
public class PanelEtudiant extends JPanel{ public class PanelEtudiant extends JPanel{
private JButton supprimer;
private JButton deplacer; // bouton suppression
private JButton supprimer;
// bouton déplacement
private JButton deplacer;
/**
* Constructeur du panel d'affichage d'un étudiant
* @param e l'étudiant à afficher
* @param change si l'étudiant peut être déplacé
*/
public PanelEtudiant(Etudiant e, boolean change){ public PanelEtudiant(Etudiant e, boolean change){
super(new GridLayout(1,2,20,10)); super(new GridLayout(1,2,20,10));
JPanel bouton=new JPanel(new GridLayout(1,2)); JPanel bouton=new JPanel(new GridLayout(1,2));
@ -25,11 +36,18 @@ public class PanelEtudiant extends JPanel{
bouton.add(this.supprimer); bouton.add(this.supprimer);
this.add(bouton); this.add(bouton);
} }
/**
* Ajoute un listener au bouton de suppression
* @param a le listener
*/
public void addActionDeleteListener(ActionListener a){ public void addActionDeleteListener(ActionListener a){
this.supprimer.addActionListener(a); this.supprimer.addActionListener(a);
} }
/**
* Ajoute un listener au bouton de changement de groupe
* @param a le listener
*/
public void addActionChangeListener(ActionListener a){ public void addActionChangeListener(ActionListener a){
this.deplacer.addActionListener(a); this.deplacer.addActionListener(a);
} }