ok
This commit is contained in:
parent
bca98479f6
commit
fcf32a2ec0
@ -95,8 +95,12 @@ ${BUILD}/MNP/AbstractChangementFactoryNP.class : ${SRC}/MNP/AbstractChangementFa
|
|||||||
## Graphic ##
|
## Graphic ##
|
||||||
|
|
||||||
## View ##
|
## View ##
|
||||||
|
${BUILD}/Graphic/View/PaintGroupe.class : ${SRC}/Graphic/View/PaintGroupe.java
|
||||||
|
${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Graphic/View/PaintGroupe.java
|
||||||
|
|
||||||
${BUILD}/Graphic/View/Mafenetre.class : ${SRC}/Graphic/View/MaFenetre.java \
|
${BUILD}/Graphic/View/Mafenetre.class : ${SRC}/Graphic/View/MaFenetre.java \
|
||||||
${BUILD}/Graphic/Controller/ObservateurFenetre.class
|
${BUILD}/Graphic/Controller/ObservateurFenetre.class \
|
||||||
|
${BUILD}/Graphic/View/PaintGroupe.class
|
||||||
${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Graphic/View/MaFenetre.java
|
${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Graphic/View/MaFenetre.java
|
||||||
|
|
||||||
## Controller ##
|
## Controller ##
|
||||||
|
@ -4,72 +4,39 @@ import javax.swing.JFrame;
|
|||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.awt.GridBagLayout;
|
import java.awt.GridBagLayout;
|
||||||
import java.awt.GridBagConstraints;
|
import java.awt.GridBagConstraints;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.API.*;
|
|
||||||
|
import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.Graphic.Controller.ObservateurFenetre;
|
import fr.iutfbleau.projetIHM2022FI2.Graphic.Controller.ObservateurFenetre;
|
||||||
|
|
||||||
public class MaFenetre extends JFrame{
|
public class MaFenetre extends JFrame{
|
||||||
private LinkedList<Groupe> tabGroupe=new LinkedList<Groupe>();
|
|
||||||
private JPanel Left;
|
private JPanel Left;
|
||||||
private JPanel Right;
|
private JPanel Right;
|
||||||
|
private PaintGroupe paint;
|
||||||
|
|
||||||
public MaFenetre(){
|
public MaFenetre(){
|
||||||
super();
|
super();
|
||||||
this.setSize(1000,720);
|
this.setSize(1000,720);
|
||||||
this.setLocation(200,200);
|
this.setLocation(200,200);
|
||||||
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
||||||
this.getContentPane().setBackground(new Color(230, 230, 255, 255));
|
|
||||||
this.addWindowListener(new ObservateurFenetre());
|
this.addWindowListener(new ObservateurFenetre());
|
||||||
this.setLayout(new GridBagLayout());
|
this.setLayout(new GridLayout(1,2));
|
||||||
this.Left=new JPanel();
|
|
||||||
|
this.Left=new JPanel(new GridLayout(2,1));
|
||||||
this.Right=new JPanel();
|
this.Right=new JPanel();
|
||||||
|
|
||||||
|
this.paint=new PaintGroupe();
|
||||||
|
|
||||||
GridBagConstraints gc=new GridBagConstraints();
|
this.Left.setBackground(Color.RED);
|
||||||
gc.gridx=1;
|
this.Left.add(this.paint);
|
||||||
gc.gridy=1;
|
this.add(this.Left);
|
||||||
gc.anchor=GridBagConstraints.CENTER;
|
|
||||||
gc.gridheight=1;
|
this.Right.setBackground(Color.BLUE);
|
||||||
gc.gridwidth=1;
|
this.add(this.Right);
|
||||||
gc.fill=GridBagConstraints.BOTH;
|
|
||||||
this.add(this.Left, gc);
|
|
||||||
|
|
||||||
gc.gridx=2;
|
|
||||||
gc.gridy=1;
|
|
||||||
gc.anchor=GridBagConstraints.CENTER;
|
|
||||||
gc.gridheight=1;
|
|
||||||
gc.gridwidth=1;
|
|
||||||
gc.fill=GridBagConstraints.BOTH;
|
|
||||||
this.add(this.Right, gc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addGroupe(Groupe g){
|
public void addGroupe(Groupe g){
|
||||||
this.tabGroupe.add(g);
|
this.paint.addGroupe(g);
|
||||||
}
|
|
||||||
public boolean removeGroupe(Groupe g){
|
|
||||||
int i=this.tabGroupe.indexOf(g);
|
|
||||||
if(i==-1){
|
|
||||||
return false;
|
|
||||||
}else{
|
|
||||||
this.tabGroupe.remove(i);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void GroupeDraw(){
|
|
||||||
|
|
||||||
}
|
|
||||||
private GridBagConstraints getConstraints(int index){
|
|
||||||
GridBagConstraints gc=new GridBagConstraints();
|
|
||||||
gc.gridx=1;
|
|
||||||
gc.gridy=index;
|
|
||||||
gc.anchor=GridBagConstraints.BASELINE;
|
|
||||||
gc.gridheight=1;
|
|
||||||
gc.gridwidth=1;
|
|
||||||
gc.insets=null;
|
|
||||||
gc.fill=GridBagConstraints.HORIZONTAL;
|
|
||||||
return gc;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,51 @@
|
|||||||
|
package fr.iutfbleau.projetIHM2022FI2.Graphic.View;
|
||||||
|
|
||||||
|
import fr.iutfbleau.projetIHM2022FI2.API.*;
|
||||||
|
import javax.swing.JComponent;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.FontMetrics;
|
||||||
|
|
||||||
|
public class PaintGroupe extends JComponent {
|
||||||
|
private LinkedList<Groupe> tabGroupe=new LinkedList<Groupe>();
|
||||||
|
public PaintGroupe(){}
|
||||||
|
@Override
|
||||||
|
protected void paintComponent(Graphics pinceau) {
|
||||||
|
// obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard
|
||||||
|
Graphics secondPinceau = pinceau.create();
|
||||||
|
// obligatoire : si le composant n'est pas censé être transparent
|
||||||
|
if (this.isOpaque()) {
|
||||||
|
// obligatoire : on repeint toute la surface avec la couleur de fond
|
||||||
|
secondPinceau.setColor(this.getBackground());
|
||||||
|
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||||||
|
}
|
||||||
|
// maintenant on dessine ce que l'on veut
|
||||||
|
secondPinceau.setColor(this.getForeground());
|
||||||
|
int y=100;
|
||||||
|
for(Groupe g: this.tabGroupe){
|
||||||
|
secondPinceau.setColor(Color.BLACK);
|
||||||
|
secondPinceau.setFont(new Font(Font.SANS_SERIF, Font.BOLD, this.getWidth()/10));
|
||||||
|
FontMetrics metrics = secondPinceau.getFontMetrics(secondPinceau.getFont());
|
||||||
|
secondPinceau.drawString(g.getName().toUpperCase(), (this.getWidth()/2-metrics.stringWidth(g.getName().toUpperCase())/2), (y-metrics.getAscent()));
|
||||||
|
g.getName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addGroupe(Groupe g){
|
||||||
|
this.tabGroupe.add(g);
|
||||||
|
this.repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean removeGroupe(Groupe g){
|
||||||
|
int i=this.tabGroupe.indexOf(g);
|
||||||
|
if(i==-1){
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
this.tabGroupe.remove(i);
|
||||||
|
}
|
||||||
|
this.repaint();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -17,8 +17,8 @@ public class TestTexteMNP{
|
|||||||
// i.e. entre les versions non persistantes (qui terminent par NP) et votre implémentation éventuelle persistante, le seul changement de comportement devrait être la persistance.
|
// i.e. entre les versions non persistantes (qui terminent par NP) et votre implémentation éventuelle persistante, le seul changement de comportement devrait être la persistance.
|
||||||
//
|
//
|
||||||
|
|
||||||
System.out.println("Test de l\'API");
|
////System.out.println("Test de l\'API");
|
||||||
System.out.print("Création des étudiants");
|
//System.out.print("Création des étudiants");
|
||||||
MaFenetre fenetre=new MaFenetre();
|
MaFenetre fenetre=new MaFenetre();
|
||||||
fenetre.setVisible(true);
|
fenetre.setVisible(true);
|
||||||
Etudiant e1=new EtudiantNP("césar","lycurgus");
|
Etudiant e1=new EtudiantNP("césar","lycurgus");
|
||||||
@ -32,7 +32,7 @@ public class TestTexteMNP{
|
|||||||
Etudiant e9=new EtudiantNP("renard","elikapeka");
|
Etudiant e9=new EtudiantNP("renard","elikapeka");
|
||||||
Etudiant e10=new EtudiantNP("achille","haukea");
|
Etudiant e10=new EtudiantNP("achille","haukea");
|
||||||
|
|
||||||
System.out.print(".");
|
//System.out.print(".");
|
||||||
|
|
||||||
Etudiant e11=new EtudiantNP("agathe","iakopa");
|
Etudiant e11=new EtudiantNP("agathe","iakopa");
|
||||||
Etudiant e12=new EtudiantNP("sabine","spartacus");
|
Etudiant e12=new EtudiantNP("sabine","spartacus");
|
||||||
@ -45,7 +45,7 @@ public class TestTexteMNP{
|
|||||||
Etudiant e19=new EtudiantNP("diane","ladislas");
|
Etudiant e19=new EtudiantNP("diane","ladislas");
|
||||||
Etudiant e20=new EtudiantNP("christine","mahatma");
|
Etudiant e20=new EtudiantNP("christine","mahatma");
|
||||||
|
|
||||||
System.out.print(".");
|
//System.out.print(".");
|
||||||
|
|
||||||
Etudiant e21=new EtudiantNP("francine","napoleon");
|
Etudiant e21=new EtudiantNP("francine","napoleon");
|
||||||
Etudiant e22=new EtudiantNP("louise","lalita");
|
Etudiant e22=new EtudiantNP("louise","lalita");
|
||||||
@ -58,7 +58,7 @@ public class TestTexteMNP{
|
|||||||
Etudiant e29=new EtudiantNP("jacqueline","madhav");
|
Etudiant e29=new EtudiantNP("jacqueline","madhav");
|
||||||
Etudiant e30=new EtudiantNP("denise","turlough");
|
Etudiant e30=new EtudiantNP("denise","turlough");
|
||||||
|
|
||||||
System.out.print(".");
|
//System.out.print(".");
|
||||||
|
|
||||||
Etudiant e31=new EtudiantNP("gabrielle","uaithne");
|
Etudiant e31=new EtudiantNP("gabrielle","uaithne");
|
||||||
Etudiant e32=new EtudiantNP("julie","uilleag");
|
Etudiant e32=new EtudiantNP("julie","uilleag");
|
||||||
@ -71,7 +71,7 @@ public class TestTexteMNP{
|
|||||||
Etudiant e39=new EtudiantNP("jeanine","javed");
|
Etudiant e39=new EtudiantNP("jeanine","javed");
|
||||||
Etudiant e40=new EtudiantNP("roxane","naveed");
|
Etudiant e40=new EtudiantNP("roxane","naveed");
|
||||||
|
|
||||||
System.out.print(".");
|
//System.out.print(".");
|
||||||
|
|
||||||
Etudiant e41=new EtudiantNP("adeline","shahnaz");
|
Etudiant e41=new EtudiantNP("adeline","shahnaz");
|
||||||
Etudiant e42=new EtudiantNP("dion","ardashir");
|
Etudiant e42=new EtudiantNP("dion","ardashir");
|
||||||
@ -84,7 +84,7 @@ public class TestTexteMNP{
|
|||||||
Etudiant e49=new EtudiantNP("natalie","marcellino");
|
Etudiant e49=new EtudiantNP("natalie","marcellino");
|
||||||
Etudiant e50=new EtudiantNP("aline","mariangela");
|
Etudiant e50=new EtudiantNP("aline","mariangela");
|
||||||
|
|
||||||
System.out.print(".");
|
//System.out.print(".");
|
||||||
|
|
||||||
Etudiant e51=new EtudiantNP("prosper","marzio");
|
Etudiant e51=new EtudiantNP("prosper","marzio");
|
||||||
Etudiant e52=new EtudiantNP("mirabelle","massimiliano");
|
Etudiant e52=new EtudiantNP("mirabelle","massimiliano");
|
||||||
@ -94,17 +94,17 @@ public class TestTexteMNP{
|
|||||||
Etudiant e56=new EtudiantNP("evette","michela");
|
Etudiant e56=new EtudiantNP("evette","michela");
|
||||||
Etudiant e57=new EtudiantNP("gisselle","michelangela");
|
Etudiant e57=new EtudiantNP("gisselle","michelangela");
|
||||||
|
|
||||||
System.out.println("terminé.");
|
////System.out.println("terminé.");
|
||||||
|
|
||||||
System.out.print("Création de l\'usine à groupe");
|
//System.out.print("Création de l\'usine à groupe");
|
||||||
AbstractGroupeFactory agf = new AbstractGroupeFactoryNP("BUT2 FI", 15, 92);
|
AbstractGroupeFactory agf = new AbstractGroupeFactoryNP("BUT2 FI", 15, 92);
|
||||||
System.out.println("terminé.");
|
////System.out.println("terminé.");
|
||||||
|
|
||||||
System.out.print("Création de l\'usine à changement");
|
//System.out.print("Création de l\'usine à changement");
|
||||||
AbstractChangementFactory acf = new AbstractChangementFactoryNP(agf);
|
AbstractChangementFactory acf = new AbstractChangementFactoryNP(agf);
|
||||||
System.out.println("terminé.");
|
////System.out.println("terminé.");
|
||||||
|
|
||||||
System.out.print("Ajout des étudiants dans le groupe de la promotion racine");
|
//System.out.print("Ajout des étudiants dans le groupe de la promotion racine");
|
||||||
|
|
||||||
agf.addToGroupe(agf.getPromotion(),e1);
|
agf.addToGroupe(agf.getPromotion(),e1);
|
||||||
agf.addToGroupe(agf.getPromotion(),e2);
|
agf.addToGroupe(agf.getPromotion(),e2);
|
||||||
@ -117,7 +117,7 @@ public class TestTexteMNP{
|
|||||||
agf.addToGroupe(agf.getPromotion(),e9);
|
agf.addToGroupe(agf.getPromotion(),e9);
|
||||||
agf.addToGroupe(agf.getPromotion(),e10);
|
agf.addToGroupe(agf.getPromotion(),e10);
|
||||||
|
|
||||||
System.out.print(".");
|
////System.out.print(".");
|
||||||
|
|
||||||
agf.addToGroupe(agf.getPromotion(),e11);
|
agf.addToGroupe(agf.getPromotion(),e11);
|
||||||
agf.addToGroupe(agf.getPromotion(),e12);
|
agf.addToGroupe(agf.getPromotion(),e12);
|
||||||
@ -130,7 +130,7 @@ public class TestTexteMNP{
|
|||||||
agf.addToGroupe(agf.getPromotion(),e19);
|
agf.addToGroupe(agf.getPromotion(),e19);
|
||||||
agf.addToGroupe(agf.getPromotion(),e20);
|
agf.addToGroupe(agf.getPromotion(),e20);
|
||||||
|
|
||||||
System.out.print(".");
|
//System.out.print(".");
|
||||||
|
|
||||||
agf.addToGroupe(agf.getPromotion(),e21);
|
agf.addToGroupe(agf.getPromotion(),e21);
|
||||||
agf.addToGroupe(agf.getPromotion(),e22);
|
agf.addToGroupe(agf.getPromotion(),e22);
|
||||||
@ -152,7 +152,7 @@ public class TestTexteMNP{
|
|||||||
agf.addToGroupe(agf.getPromotion(),e38);
|
agf.addToGroupe(agf.getPromotion(),e38);
|
||||||
agf.addToGroupe(agf.getPromotion(),e39);
|
agf.addToGroupe(agf.getPromotion(),e39);
|
||||||
|
|
||||||
System.out.print(".");
|
//System.out.print(".");
|
||||||
|
|
||||||
agf.addToGroupe(agf.getPromotion(),e40);
|
agf.addToGroupe(agf.getPromotion(),e40);
|
||||||
agf.addToGroupe(agf.getPromotion(),e41);
|
agf.addToGroupe(agf.getPromotion(),e41);
|
||||||
@ -172,49 +172,51 @@ public class TestTexteMNP{
|
|||||||
agf.addToGroupe(agf.getPromotion(),e55);
|
agf.addToGroupe(agf.getPromotion(),e55);
|
||||||
agf.addToGroupe(agf.getPromotion(),e56);
|
agf.addToGroupe(agf.getPromotion(),e56);
|
||||||
agf.addToGroupe(agf.getPromotion(),e57);
|
agf.addToGroupe(agf.getPromotion(),e57);
|
||||||
System.out.println("terminé.");
|
////System.out.println("terminé.");
|
||||||
|
|
||||||
System.out.println("Initialisation complète.");
|
////System.out.println("Initialisation complète.");
|
||||||
|
|
||||||
System.out.println("==========================");
|
////System.out.println("==========================");
|
||||||
System.out.println("Le groupe promotion");
|
////System.out.println("Le groupe promotion");
|
||||||
System.out.println(agf.getPromotion().monPrint());
|
////System.out.println(agf.getPromotion().monPrint());
|
||||||
|
|
||||||
System.out.println("==========================");
|
////System.out.println("==========================");
|
||||||
System.out.println("Partition du groupe racine en 3 groupes TD.");
|
////System.out.println("Partition du groupe racine en 3 groupes TD.");
|
||||||
agf.createPartition(agf.getPromotion(), "TD",4);
|
agf.createPartition(agf.getPromotion(), "TD",4);
|
||||||
//System.out.println(agf.getPromotion().monPrint());
|
//////System.out.println(agf.getPromotion().monPrint());
|
||||||
|
|
||||||
Groupe racineDeLaPartition = agf.getPromotion().getSousGroupes().iterator().next();
|
Groupe racineDeLaPartition = agf.getPromotion().getSousGroupes().iterator().next();
|
||||||
System.out.println(racineDeLaPartition.monPrint());
|
////System.out.println(racineDeLaPartition.monPrint());
|
||||||
|
|
||||||
System.out.println("== Cette version ajoute les étudiants automatiquement pour une partition ");
|
////System.out.println("== Cette version ajoute les étudiants automatiquement pour une partition ");
|
||||||
for(Groupe g : racineDeLaPartition.getSousGroupes()){
|
for(Groupe g : racineDeLaPartition.getSousGroupes()){
|
||||||
System.out.println(g.monPrint());
|
////System.out.println(g.monPrint());
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("==========================");
|
////System.out.println("==========================");
|
||||||
System.out.println("Création d'un changement");
|
////System.out.println("Création d'un changement");
|
||||||
Iterator<Groupe> itgr = racineDeLaPartition.getSousGroupes().iterator();
|
Iterator<Groupe> itgr = racineDeLaPartition.getSousGroupes().iterator();
|
||||||
Groupe A = itgr.next(); // premier sous-groupe
|
Groupe A = itgr.next(); // premier sous-groupe
|
||||||
Groupe B = itgr.next(); // second sous-groupe
|
Groupe B = itgr.next(); // second sous-groupe
|
||||||
|
fenetre.addGroupe(B);
|
||||||
|
System.out.println(B.getName());
|
||||||
B = itgr.next(); // troisième sous-groupe
|
B = itgr.next(); // troisième sous-groupe
|
||||||
Etudiant e = A.getEtudiants().iterator().next();// premier étudiant du premier sous-groupe.
|
Etudiant e = A.getEtudiants().iterator().next();// premier étudiant du premier sous-groupe.
|
||||||
acf.createChangement(A,e,B);
|
acf.createChangement(A,e,B);
|
||||||
System.out.println("Récupération des changements (en fait un seul pour l'instant)");
|
////System.out.println("Récupération des changements (en fait un seul pour l'instant)");
|
||||||
Iterator<Changement> itch = acf.getAllChangements().iterator();
|
Iterator<Changement> itch = acf.getAllChangements().iterator();
|
||||||
Changement c = itch.next();
|
Changement c = itch.next();
|
||||||
System.out.println(c.monPrint());
|
////System.out.println(c.monPrint());
|
||||||
System.out.println("Application du changement");
|
////System.out.println("Application du changement");
|
||||||
acf.applyChangement(c);
|
acf.applyChangement(c);
|
||||||
System.out.println("==========================");
|
////System.out.println("==========================");
|
||||||
System.out.println("== nouveau contenu des groupes de la partition ");
|
////System.out.println("== nouveau contenu des groupes de la partition ");
|
||||||
for(Groupe g : racineDeLaPartition.getSousGroupes()){
|
for(Groupe g : racineDeLaPartition.getSousGroupes()){
|
||||||
System.out.println(g.monPrint());
|
////System.out.println(g.monPrint());
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("==========================");
|
////System.out.println("==========================");
|
||||||
System.out.println("Création de 2 changements");
|
////System.out.println("Création de 2 changements");
|
||||||
itgr = racineDeLaPartition.getSousGroupes().iterator();
|
itgr = racineDeLaPartition.getSousGroupes().iterator();
|
||||||
A = itgr.next(); // premier sous-groupe
|
A = itgr.next(); // premier sous-groupe
|
||||||
B = itgr.next(); // second sous-groupe
|
B = itgr.next(); // second sous-groupe
|
||||||
@ -224,14 +226,14 @@ public class TestTexteMNP{
|
|||||||
acf.createChangement(B,etu2,A);
|
acf.createChangement(B,etu2,A);
|
||||||
// Impression des changements.
|
// Impression des changements.
|
||||||
for (Changement cgt : acf.getAllChangements()){
|
for (Changement cgt : acf.getAllChangements()){
|
||||||
System.out.println(cgt.monPrint());
|
////System.out.println(cgt.monPrint());
|
||||||
}
|
}
|
||||||
itch = acf.getAllChangements().iterator();
|
itch = acf.getAllChangements().iterator();
|
||||||
c = itch.next();
|
c = itch.next();
|
||||||
System.out.println("Suppression d'un changement. Il reste :");
|
////System.out.println("Suppression d'un changement. Il reste :");
|
||||||
acf.deleteChangement(itch.next());
|
acf.deleteChangement(itch.next());
|
||||||
for (Changement cgt : acf.getAllChangements()){
|
for (Changement cgt : acf.getAllChangements()){
|
||||||
System.out.println(cgt.monPrint());
|
////System.out.println(cgt.monPrint());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user