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.API.Model;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{
//liste des étudiants
private Set<Etudiant> etu;
// panel
private JPanel pan;
// l'étudiant sélectionné
private Etudiant concerner;
// model
private Model model;
// tru si le groupe est une 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){
this.pan=new JPanel();
this.model=m;
@ -36,7 +51,9 @@ public class FenetreEtudiant{
}
this.draw();
}
/**
* Gère l'affichage des étudiants
*/
private void draw(){
if(this.etu.size()!=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"));
}
}
/**
* rafraichit l'affichage.
*/
public void refresh(){
this.pan.removeAll();
this.draw();
this.pan.revalidate();
}
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() {
return pan;
}

View File

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

View File

@ -8,8 +8,17 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import javax.swing.JButton;
import java.awt.*;
import java.awt.event.ActionListener;
public class PanelEtudiant extends JPanel{
// bouton déplacement
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){
super(new GridLayout(1,2,20,10));
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);
}
/**
* Ajoute un listener au bouton de changement de groupe
* @param a le listener
*/
public void addActionChangeListener(ActionListener 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.Groupe;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{
// liste des étudiants
private Set<Etudiant> etu;
// panel
private JPanel pan;
/**
* Constructeur de l'affichage des étudiants
* @param g le groupe
*/
public FenetreEtudiant(Groupe g){
this.pan=new JPanel();
if(g!=null){
@ -25,7 +34,9 @@ public class FenetreEtudiant{
}
this.draw();
}
/**
* Gère l'affichage des étudiants
*/
private void draw(){
if(this.etu.size()!=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"));
}
}
/**
* rafraichit l'affichage.
*/
public void refresh(){
this.pan.removeAll();
this.draw();
this.pan.revalidate();
}
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() {
return pan;
}

View File

@ -11,11 +11,23 @@ import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
import fr.iutfbleau.projetIHM2022FI2.API.Model;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe;
/**
* Affichage d'un groupe
*
*/
public class FenetreGroupe{
// le groupe affiché
private Groupe g;
// 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){
super();
this.g=g;
@ -23,14 +35,24 @@ public class FenetreGroupe{
this.pan=new JPanel();
this.draw();
}
/**
* permet de récupérer le groupe affiché
* @return le groupe affiché
*/
public Groupe getG() {
return this.g;
}
/**
* rafraichit l'affichage du groupe
*/
public void refresh(){
this.pan.removeAll();
this.draw();
this.pan.revalidate();
}
/**
* gère l'affichage du groupe
*/
private void draw(){
if(g!=null){
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) {
this.g = g;
}
/**
* Permet de récupérer le panel d'affichage.
* @return le panel d'affichage
*/
public JPanel getPan() {
return pan;
}

View File

@ -7,6 +7,10 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import java.awt.*;
public class PanelEtudiant extends JPanel{
/**
* Constructeur du panel d'affichage d'un étudiant
* @param e l'étudiant à afficher
*/
public PanelEtudiant(Etudiant e){
super(new GridLayout(1,1,20, 20));
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.Model;
import fr.iutfbleau.projetIHM2022FI2.MNP.ROOT.Controller.ActionChangement;
/**
* Affichage des changements
*
*/
public class FenetreChangement extends JPanel{
// le changement a afficher
private AbstractChangementFactory change;
// le modèle
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){
this.change=list;
this.m=m;
this.draw();
}
/**
* gère l'affichage des changements
*/
public void draw(){
if(this.change==null || this.change.getAllChangements().size()==0){
this.setBackground(Color.RED);
@ -52,7 +66,9 @@ public class FenetreChangement extends JPanel{
}
}
}
/**
* rafraichit l'affichage
*/
public void refresh(){
this.removeAll();
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.API.Model;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{
//liste des étudiants
private Set<Etudiant> etu;
// model
private Model m;
// panel
private JPanel pan;
// le type de groupe
private TypeGroupe type;
/**
* Constructeur de l'affichage des étudiants
* @param g le groupe
* @param m le model
*/
public FenetreEtudiant(Groupe g, Model m){
this.pan=new JPanel();
this.m=m;
@ -35,7 +48,9 @@ public class FenetreEtudiant{
}
this.draw();
}
/**
* Gère l'affichage des étudiants;
*/
private void draw(){
if(this.etu.size()!=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"));
}
}
/**
* rafraichit l'affichage.
*/
public void refresh(){
this.pan.removeAll();
this.draw();
this.pan.revalidate();
}
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() {
return pan;
}
/**
* permet d'afficher la liste des demandes de changement
*/
public void 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.API.Model;
/**
* Affichage d'un groupe
*
*/
public class FenetreGroupe{
// le groupe affiché
private Groupe g;
// 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){
super();
this.g=g;
@ -26,14 +38,24 @@ public class FenetreGroupe{
this.pan=new JPanel();
this.draw();
}
/**
* permet de récupérer le groupe affiché
* @return le groupe affiché
*/
public Groupe getG() {
return this.g;
}
/**
* rafraichit l'affichage du groupe
*/
public void refresh(){
this.pan.removeAll();
this.draw();
this.pan.revalidate();
}
/**
* gère l'affichage du groupe
*/
private void draw(){
if(g!=null){
int taille=5;
@ -88,11 +110,17 @@ public class FenetreGroupe{
this.pan.add(creer);
}
}
/**
* permet de modifier le groupe affiché
* @param g le nouveau groupe à afficher
*/
public void setG(Groupe g) {
this.g = g;
}
/**
* Permet de récupérer le panel d'affichage.
* @return le panel d'affichage
*/
public JPanel getPan() {
return pan;
}

View File

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

View File

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

View File

@ -8,9 +8,23 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import javax.swing.JButton;
import java.awt.*;
import java.awt.event.ActionListener;
/**
* Panel d'affichage d'un étudiant
*
*/
public class PanelEtudiant extends JPanel{
// 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){
super(new GridLayout(1,2,20,10));
JPanel bouton=new JPanel(new GridLayout(1,2));
@ -26,10 +40,18 @@ public class PanelEtudiant extends JPanel{
this.add(bouton);
}
/**
* Ajoute un listener au bouton de suppression
* @param a le listener
*/
public void addActionDeleteListener(ActionListener a){
this.supprimer.addActionListener(a);
}
/**
* Ajoute un listener au bouton de changement de groupe
* @param a le listener
*/
public void addActionChangeListener(ActionListener 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.API.Model;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{
//liste des étudiants
private Set<Etudiant> etu;
// panel
private JPanel pan;
// l'étudiant sélectionné
private Etudiant concerner;
// model
private Model model;
// tru si le groupe est une 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){
this.pan=new JPanel();
this.model=m;
@ -37,7 +52,9 @@ public class FenetreEtudiant{
}
this.draw();
}
/**
* Gère l'affichage des étudiants
*/
private void draw(){
if(this.etu.size()!=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"));
}
}
/**
* rafraichit l'affichage.
*/
public void refresh(){
this.pan.removeAll();
this.draw();
this.pan.revalidate();
}
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() {
return pan;
}

View File

@ -14,11 +14,27 @@ import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroup
import java.util.Set;
import java.awt.Color;
/**
* Affichage d'un groupe
*
*/
public class FenetreGroupe{
// le groupe affiché
private Groupe g;
// le panel d'affichage
private JPanel pan;
// le modèle
private Model m;
// liste des sous groupes
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){
super();
this.g=g;
@ -27,14 +43,24 @@ public class FenetreGroupe{
this.pan=new JPanel();
this.draw();
}
/**
* permet de récupérer le groupe affiché
* @return le groupe affiché
*/
public Groupe getG() {
return this.g;
}
/**
* rafraichit l'affichage du groupe
*/
public void refresh(){
this.pan.removeAll();
this.draw();
this.pan.revalidate();
}
/**
* gère l'affichage du groupe
*/
private void draw(){
if(g!=null){
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) {
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) {
this.appartient = appartient;
}
/**
* Permet de récupérer le panel d'affichage.
* @return le panel d'affichage
*/
public JPanel getPan() {
return pan;
}

View File

@ -8,8 +8,17 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import javax.swing.JButton;
import java.awt.*;
import java.awt.event.ActionListener;
public class PanelEtudiant extends JPanel{
// bouton déplacement
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){
super(new GridLayout(1,2,20,10));
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){
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.Groupe;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{
// liste des étudiants
private Set<Etudiant> etu;
// panel
private JPanel pan;
/**
* Constructeur de l'affichage des étudiants
* @param g le groupe
*/
public FenetreEtudiant(Groupe g){
this.pan=new JPanel();
if(g!=null){
@ -25,7 +34,9 @@ public class FenetreEtudiant{
}
this.draw();
}
/**
* Gère l'affichage des étudiants
*/
private void draw(){
if(this.etu.size()!=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"));
}
}
/**
* rafraichit l'affichage.
*/
public void refresh(){
this.pan.removeAll();
this.draw();
this.pan.revalidate();
}
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() {
return pan;
}

View File

@ -11,11 +11,23 @@ import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
import fr.iutfbleau.projetIHM2022FI2.API.Model;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe;
/**
* Affichage d'un groupe
*
*/
public class FenetreGroupe{
// le groupe affiché
private Groupe g;
// 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){
super();
this.g=g;
@ -23,14 +35,24 @@ public class FenetreGroupe{
this.pan=new JPanel();
this.draw();
}
/**
* permet de récupérer le groupe affiché
* @return le groupe affiché
*/
public Groupe getG() {
return this.g;
}
/**
* rafraichit l'affichage du groupe
*/
public void refresh(){
this.pan.removeAll();
this.draw();
this.pan.revalidate();
}
/**
* gère l'affichage du groupe
*/
private void draw(){
if(g!=null){
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) {
this.g = g;
}
/**
* Permet de récupérer le panel d'affichage.
* @return le panel d'affichage
*/
public JPanel getPan() {
return pan;
}

View File

@ -7,6 +7,11 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import java.awt.*;
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){
super(new GridLayout(1,1,20, 20));
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.Model;
import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ActionChangement;
/**
* Affichage des changements
*
*/
public class FenetreChangement extends JPanel{
// les changements a afficher
private AbstractChangementFactory change;
// le modèle
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){
this.change=list;
this.m=m;
this.draw();
}
/**
* gère l'affichage des changements
*/
public void draw(){
if(this.change==null || this.change.getAllChangements().size()==0){
this.setBackground(Color.RED);
@ -52,7 +66,9 @@ public class FenetreChangement extends JPanel{
}
}
}
/**
* rafraichit l'affichage
*/
public void refresh(){
this.removeAll();
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.API.Model;
/**
* Affichage des édudiants d'un groupe
*
*/
public class FenetreEtudiant{
//liste des étudiants
private Set<Etudiant> etu;
// model
private Model m;
// panel
private JPanel pan;
// le type de groupe
private TypeGroupe type;
/**
* Constructeur de l'affichage des étudiants
* @param g le groupe
* @param m le model
*/
public FenetreEtudiant(Groupe g, Model m){
this.pan=new JPanel();
this.m=m;
@ -35,7 +48,9 @@ public class FenetreEtudiant{
}
this.draw();
}
/**
* Gère l'affichage des étudiants
*/
private void draw(){
if(this.etu.size()!=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"));
}
}
/**
* rafraichit l'affichage.
*/
public void refresh(){
this.pan.removeAll();
this.draw();
this.pan.revalidate();
}
/**
* premet d'obtenir le panel de l'affichage
* @return le panel de l'affichage
*/
public JPanel getPan() {
return pan;
}
/**
* permet d'afficher la liste des demandes de changement
*/
public void 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.API.Model;
/**
* Affichage d'un groupe
*
*/
public class FenetreGroupe{
// le groupe affiché
private Groupe g;
// 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){
super();
this.g=g;
@ -26,14 +38,24 @@ public class FenetreGroupe{
this.pan=new JPanel();
this.draw();
}
/**
* permet de récupérer le groupe affiché
* @return le groupe affiché
*/
public Groupe getG() {
return this.g;
}
/**
* rafraichit l'affichage du groupe
*/
public void refresh(){
this.pan.removeAll();
this.draw();
this.pan.revalidate();
}
/**
* gère l'affichage du groupe
*/
private void draw(){
if(g!=null){
int taille=5;
@ -88,11 +110,17 @@ public class FenetreGroupe{
this.pan.add(creer);
}
}
/**
* permet de modifier le groupe affiché
* @param g le nouveau groupe à afficher
*/
public void setG(Groupe g) {
this.g = g;
}
/**
* Permet de récupérer le panel d'affichage.
* @return le panel d'affichage
*/
public JPanel getPan() {
return pan;
}

View File

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

View File

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

View File

@ -8,9 +8,20 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import javax.swing.JButton;
import java.awt.*;
import java.awt.event.ActionListener;
public class PanelEtudiant extends JPanel{
// 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){
super(new GridLayout(1,2,20,10));
JPanel bouton=new JPanel(new GridLayout(1,2));
@ -25,11 +36,18 @@ public class PanelEtudiant extends JPanel{
bouton.add(this.supprimer);
this.add(bouton);
}
/**
* Ajoute un listener au bouton de suppression
* @param a le listener
*/
public void addActionDeleteListener(ActionListener a){
this.supprimer.addActionListener(a);
}
/**
* Ajoute un listener au bouton de changement de groupe
* @param a le listener
*/
public void addActionChangeListener(ActionListener a){
this.deplacer.addActionListener(a);
}