diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Controller/ActionListenerNouveauEtu.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Controller/ActionListenerNouveauEtu.java index 8b70ce1..9e0952b 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Controller/ActionListenerNouveauEtu.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Controller/ActionListenerNouveauEtu.java @@ -14,18 +14,22 @@ public class ActionListenerNouveauEtu implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { - JPanel myPanel = new JPanel(); - JTextField xField = new JTextField(20); - JTextField yField = new JTextField(20); - myPanel.add(new JLabel("Nom:")); - myPanel.add(xField); - myPanel.add(Box.createHorizontalStrut(15)); - myPanel.add(new JLabel("Prenom:")); - myPanel.add(yField); - int result = JOptionPane.showConfirmDialog(this.pere, myPanel, - "Entrer le nombre et le nom des Partitions", JOptionPane.OK_CANCEL_OPTION); - if(result==JOptionPane.YES_OPTION){ - this.pere.addEtudiant(xField.getText(), yField.getText()); + if(e.getActionCommand()=="tous"){ + this.pere.addAll(); + }else{ + JPanel myPanel = new JPanel(); + JTextField xField = new JTextField(20); + JTextField yField = new JTextField(20); + myPanel.add(new JLabel("Nom:")); + myPanel.add(xField); + myPanel.add(Box.createHorizontalStrut(15)); + myPanel.add(new JLabel("Prenom:")); + myPanel.add(yField); + int result = JOptionPane.showConfirmDialog(this.pere, myPanel, + "Entrer le nombre et le nom des Partitions", JOptionPane.OK_CANCEL_OPTION); + if(result==JOptionPane.YES_OPTION){ + this.pere.addEtudiant(xField.getText(), yField.getText()); + } } } diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Controller/ObservateurModifGroupe.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Controller/ObservateurModifGroupe.java index 28c6269..b57fc7a 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Controller/ObservateurModifGroupe.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Controller/ObservateurModifGroupe.java @@ -145,7 +145,19 @@ public class ObservateurModifGroupe implements ActionListener{ if(zField.getText().length()==0){ JOptionPane.showMessageDialog(m.getFenetre(), "erreur entre un nom", "erreur", JOptionPane.ERROR_MESSAGE); }else{ - m.addPromo(min, max, zField.getText()); + if(min>max){ + JOptionPane.showMessageDialog(m.getFenetre(), "erreur min>max", "erreur", JOptionPane.ERROR_MESSAGE); + }else{ + Set ajout=new LinkedHashSet<>(); + JPanel pan=new FenetreSelectionEtu(null, ajout, false, this.m.getEtudiant()); + if(JOptionPane.showConfirmDialog(m.getFenetre(), new JScrollPane(pan), "Selectionner les étudiant a ajouter", JOptionPane.OK_CANCEL_OPTION) ==JOptionPane.YES_OPTION){ + if(min>ajout.size() || max ajout){ Chargement ch=new Chargement(); this.promo=new AbstractGroupeFactoryNP(name, min, max); this.fenetre.setVisible(false); this.bd.saveGroupe(this.promo.getPromotion(), this.getTailleGroupe(this.promo.getPromotion()), ch); + ch.addPourcent(20); + int pourcent=85/ajout.size(); + for(Etudiant e:ajout){ + this.addEtudiant(this.promo.getPromotion(), e); + ch.addPourcent(pourcent); + } ch.dispose(); this.fenetre.setVisible(true); - this.showGroupe(this.bd.refreshALL(this.promo.getPromotion())); + this.showGroupe(this.promo.getPromotion()); } /** @@ -208,8 +217,9 @@ public class Model{ */ public boolean addEtudiant(Groupe g, Etudiant e){ //Si on a la place - if(this.addEtuToParent(g.getPointPoint(), e)==false) - return false; + if(g!=g.getPointPoint()) + if(this.addEtuToParent(g.getPointPoint(), e)==false) + return false; //On induqe a la BD de sauvegarder cette modification this.bd.saveEtu(e, g); return true; @@ -225,13 +235,16 @@ public class Model{ if(g.getMax()==g.getSize()) return false; for(Etudiant et:g.getEtudiants()){ - if(et==e){ + if(et.getId()==e.getId()){ return true; } } - if(g.getPointPoint()!=g) - if(this.addEtuToParent(g.getPointPoint(), e)==false){return false;} - this.promo.addToGroupe(g, e); + if(g.getPointPoint()!=g){ + if(this.addEtuToParent(g.getPointPoint(), e)==false){ + return false; + } + } + this.bd.saveEtu(e, g); return true; } @@ -267,12 +280,10 @@ public class Model{ this.promo=null; } }catch(SQLException e){ - System.out.println("hooo"); } rs.close(); pst.close(); }catch(SQLException e){ - System.out.println("erreur dans le resultat"); } this.bd.close(cnx); return agf; diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Util/BD.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Util/BD.java index 6048681..30e021b 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Util/BD.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/Util/BD.java @@ -225,21 +225,6 @@ public class BD { pst.setInt(2, etudiant.getId()); pst.setInt(1, g.getId()); pst.executeUpdate(); - boolean la=false; - while(g!=g.getPointPoint() || la==false){ - g=g.getPointPoint(); - for(Etudiant e:g.getEtudiants()){ - if(e==etudiant){ - la=true; - break; - } - } - if(la==false){ - pst.setInt(2, etudiant.getId()); - pst.setInt(1, g.getId()); - pst.executeUpdate(); - } - } }else{ pst.close(); pst=cnx.prepareStatement( @@ -248,18 +233,6 @@ public class BD { pst.setString(2, etudiant.getNom()); pst.setString(3, etudiant.getPrenom()); pst.executeUpdate(); - pst.close(); - pst=cnx.prepareStatement( - "INSERT INTO `CONTIENT` (`idGroupe`, `idEt`) VALUES (?, ?);"); - pst.setInt(2, etudiant.getId()); - pst.setInt(1, g.getId()); - pst.executeUpdate(); - while(g.getPointPoint()!=g){ - g=g.getPointPoint(); - pst.setInt(2, etudiant.getId()); - pst.setInt(1, g.getId()); - pst.executeUpdate(); - } } rs.close(); pst.close(); diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/View/FenetreSelectionEtu.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/View/FenetreSelectionEtu.java index 1b29daa..027ef5e 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/View/FenetreSelectionEtu.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/View/FenetreSelectionEtu.java @@ -6,11 +6,12 @@ import fr.iutfbleau.projetIHM2022FI2.Graphic.Controller.ActionListenerNouveauEtu import fr.iutfbleau.projetIHM2022FI2.Graphic.Controller.SelecteurEtudiant; import fr.iutfbleau.projetIHM2022FI2.MNP.EtudiantNP; +import java.util.Iterator; +import java.util.LinkedHashSet; import java.util.Set; import java.awt.GridLayout; import java.awt.Color; import javax.swing.JButton; -import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; @@ -76,12 +77,34 @@ public class FenetreSelectionEtu extends JPanel{ this.add(lab); index++; } - if(etu.size()==0){ - this.add(new JLabel("Ce groupe possède tous les étudiants déja présent")); - } JButton nouveau=new JButton("Nouveau +"); nouveau.setBackground(Color.RED); nouveau.addActionListener(new ActionListenerNouveauEtu(this)); + JButton all=new JButton("tous"); + this.add(all); + all.addActionListener(new ActionListenerNouveauEtu(this)); this.add(nouveau); } + + public void addAll(){ + if(this.getComponent(this.etu.size()).getBackground()==Color.GREEN){ + int i=0; + for(Etudiant e:this.etu){ + this.getComponent(i).setBackground(this.getBackground()); + if(this.liste.contains(e)) + this.liste.remove(e); + i++; + } + this.getComponent(this.etu.size()).setBackground(this.getBackground()); + }else{ + int i=0; + for(Etudiant e:this.etu){ + this.getComponent(i).setBackground(Color.GREEN); + this.liste.add(e); + i++; + } + this.getComponent(this.etu.size()).setBackground(Color.GREEN); + } + this.repaint(); + } } diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/View/PanelEtudiant.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/View/PanelEtudiant.java index 75b9247..b39423a 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/View/PanelEtudiant.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Graphic/View/PanelEtudiant.java @@ -9,33 +9,19 @@ import javax.swing.JButton; import java.awt.*; public class PanelEtudiant extends JPanel{ - private JLabel nom; private Etudiant e; - private JButton renomer; private JButton supprimer; private JButton deplacer; public PanelEtudiant(Etudiant e){ - super(new GridBagLayout()); - this.nom=new JLabel(e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT); - - this.renomer=new JButton("r"); - this.supprimer=new JButton("-"); - this.deplacer=new JButton("c"); - GridBagConstraints cbg=new GridBagConstraints(); - - cbg.gridy=0; - cbg.anchor=GridBagConstraints.EAST; - cbg.fill=GridBagConstraints.BOTH; - - this.add(this.nom, cbg); - - cbg.gridwidth=0; - cbg.gridheight=0; - cbg.anchor=GridBagConstraints.EAST; - cbg.fill=GridBagConstraints.NONE; - - this.add(this.renomer, cbg); - this.add(this.supprimer, cbg); - this.add(this.deplacer, cbg); + super(new GridLayout(1,2,20,10)); + this.e=e; + JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT); + this.supprimer=new JButton("supr"); + this.deplacer=new JButton("change"); + this.add(label); + JPanel bouton=new JPanel(new GridLayout(1,2)); + bouton.add(this.supprimer); + bouton.add(this.deplacer); + this.add(bouton); } }