debut affichage arborescence
This commit is contained in:
parent
5c4413a6fb
commit
6c05981b8d
@ -144,6 +144,9 @@ ${BUILD}/Graphic/Controller/SelecteurEtudiant.class : ${SRC}/Graphic/Controller/
|
|||||||
|
|
||||||
${BUILD}/Graphic/Controller/ActionListenerNouveauEtu.class : ${SRC}/Graphic/Controller/ActionListenerNouveauEtu.java
|
${BUILD}/Graphic/Controller/ActionListenerNouveauEtu.class : ${SRC}/Graphic/Controller/ActionListenerNouveauEtu.java
|
||||||
${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Graphic/Controller/ActionListenerNouveauEtu.java
|
${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Graphic/Controller/ActionListenerNouveauEtu.java
|
||||||
|
|
||||||
|
${BUILD}/Graphic/Controller/TreeSelectionListenerGroupe.class : ${SRC}/Graphic/Controller/TreeSelectionListenerGroupe.java
|
||||||
|
${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Graphic/Controller/TreeSelectionListenerGroupe.java
|
||||||
##....
|
##....
|
||||||
|
|
||||||
|
|
||||||
@ -153,7 +156,8 @@ ${BUILD}/Graphic/Model/Model.class : ${SRC}/Graphic/Model/Model.java \
|
|||||||
${BUILD}/Graphic/View/FenetreGroupe.class \
|
${BUILD}/Graphic/View/FenetreGroupe.class \
|
||||||
${BUILD}/Graphic/View/FenetreEtudiant.class \
|
${BUILD}/Graphic/View/FenetreEtudiant.class \
|
||||||
${BUILD}/Graphic/View/Chargement.class \
|
${BUILD}/Graphic/View/Chargement.class \
|
||||||
${BUILD}/Graphic/Util/BD.class
|
${BUILD}/Graphic/Util/BD.class \
|
||||||
|
${BUILD}/Graphic/Controller/TreeSelectionListenerGroupe.class
|
||||||
${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Graphic/Model/Model.java
|
${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Graphic/Model/Model.java
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,20 @@
|
|||||||
|
package fr.iutfbleau.projetIHM2022FI2.Graphic.Controller;
|
||||||
|
|
||||||
|
import javax.swing.event.TreeSelectionEvent;
|
||||||
|
import javax.swing.event.TreeSelectionListener;
|
||||||
|
|
||||||
|
import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
|
||||||
|
import fr.iutfbleau.projetIHM2022FI2.Graphic.Model.Model;
|
||||||
|
|
||||||
|
public class TreeSelectionListenerGroupe implements TreeSelectionListener{
|
||||||
|
private Model m;
|
||||||
|
public TreeSelectionListenerGroupe(Model m){
|
||||||
|
this.m=m;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void valueChanged(TreeSelectionEvent e) {
|
||||||
|
Groupe g=(Groupe)e.getSource();
|
||||||
|
m.showGroupe(g);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,19 +1,20 @@
|
|||||||
package fr.iutfbleau.projetIHM2022FI2.Graphic.Model;
|
package fr.iutfbleau.projetIHM2022FI2.Graphic.Model;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
import javax.swing.tree.*;
|
||||||
|
import javax.swing.event.*;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.API.AbstractGroupeFactory;
|
import fr.iutfbleau.projetIHM2022FI2.API.AbstractGroupeFactory;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
|
import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
|
import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
|
import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.Graphic.Controller.ObservateurFenetre;
|
import fr.iutfbleau.projetIHM2022FI2.Graphic.Controller.ObservateurFenetre;
|
||||||
|
import fr.iutfbleau.projetIHM2022FI2.Graphic.Controller.TreeSelectionListenerGroupe;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.Graphic.Util.BD;
|
import fr.iutfbleau.projetIHM2022FI2.Graphic.Util.BD;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.Graphic.View.Chargement;
|
import fr.iutfbleau.projetIHM2022FI2.Graphic.View.Chargement;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.Graphic.View.FenetreEtudiant;
|
import fr.iutfbleau.projetIHM2022FI2.Graphic.View.FenetreEtudiant;
|
||||||
@ -35,6 +36,7 @@ public class Model{
|
|||||||
Chargement ch=new Chargement();
|
Chargement ch=new Chargement();
|
||||||
this.promo=this.getPromo(ch);
|
this.promo=this.getPromo(ch);
|
||||||
ch.dispose();
|
ch.dispose();
|
||||||
|
JTree tree=new JTree();
|
||||||
if(this.promo==null){
|
if(this.promo==null){
|
||||||
this.fenGr=new FenetreGroupe(null, this);
|
this.fenGr=new FenetreGroupe(null, this);
|
||||||
this.fenEtu=new FenetreEtudiant(null);
|
this.fenEtu=new FenetreEtudiant(null);
|
||||||
@ -51,7 +53,7 @@ public class Model{
|
|||||||
this.fenetre.setLayout(new GridLayout(1,2));
|
this.fenetre.setLayout(new GridLayout(1,2));
|
||||||
this.fenetre.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
this.fenetre.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
||||||
this.fenetre.setMinimumSize(this.fenetre.getSize());
|
this.fenetre.setMinimumSize(this.fenetre.getSize());
|
||||||
this.fenetre.add(this.fenGr);
|
this.fenetre.add(tree.add(this.fenGr));
|
||||||
JScrollPane scroll=new JScrollPane(this.fenEtu);
|
JScrollPane scroll=new JScrollPane(this.fenEtu);
|
||||||
scroll.getVerticalScrollBar().setUnitIncrement(15);
|
scroll.getVerticalScrollBar().setUnitIncrement(15);
|
||||||
this.fenetre.add(scroll);
|
this.fenetre.add(scroll);
|
||||||
@ -60,7 +62,9 @@ public class Model{
|
|||||||
this.showGroupe(this.promo.getPromotion());
|
this.showGroupe(this.promo.getPromotion());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void nouvelleCible(TreePath e){
|
||||||
|
System.out.println(e.getLastPathComponent().toString());
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Fonction pour refresh/changer de groupe d'affichage
|
* Fonction pour refresh/changer de groupe d'affichage
|
||||||
* @param g le groupe a afficher
|
* @param g le groupe a afficher
|
||||||
@ -68,10 +72,19 @@ public class Model{
|
|||||||
public void showGroupe(Groupe g){
|
public void showGroupe(Groupe g){
|
||||||
if(g!=null)
|
if(g!=null)
|
||||||
g=this.bd.refreshALL(g);
|
g=this.bd.refreshALL(g);
|
||||||
|
DefaultMutableTreeNode mut=new DefaultMutableTreeNode(g);
|
||||||
|
JTree arbre = new JTree(mut);
|
||||||
|
arbre.setEditable(true);
|
||||||
|
arbre.setShowsRootHandles(true);
|
||||||
|
arbre.getSelectionModel().setSelectionMode(
|
||||||
|
TreeSelectionModel.SINGLE_TREE_SELECTION);
|
||||||
|
|
||||||
|
arbre.addTreeSelectionListener(new TreeSelectionListenerGroupe(this));
|
||||||
|
|
||||||
this.fenGr=new FenetreGroupe(g, this);
|
this.fenGr=new FenetreGroupe(g, this);
|
||||||
this.fenEtu=new FenetreEtudiant(g);
|
this.fenEtu=new FenetreEtudiant(g);
|
||||||
this.fenetre.getContentPane().removeAll();
|
this.fenetre.getContentPane().removeAll();
|
||||||
this.fenetre.add(this.fenGr);
|
this.fenetre.add(arbre);
|
||||||
JScrollPane scroll=new JScrollPane(this.fenEtu);
|
JScrollPane scroll=new JScrollPane(this.fenEtu);
|
||||||
scroll.getVerticalScrollBar().setUnitIncrement(15);
|
scroll.getVerticalScrollBar().setUnitIncrement(15);
|
||||||
this.fenetre.add(scroll);
|
this.fenetre.add(scroll);
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
package fr.iutfbleau.projetIHM2022FI2.Graphic.View;
|
||||||
|
|
||||||
|
import javax.swing.JTree;
|
||||||
|
import javax.swing.event.TreeSelectionEvent;
|
||||||
|
import javax.swing.event.TreeSelectionListener;
|
||||||
|
|
||||||
|
import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
|
||||||
|
import fr.iutfbleau.projetIHM2022FI2.Graphic.Model.Model;
|
||||||
|
|
||||||
|
public class JTreeGroupe extends JTree{
|
||||||
|
private Groupe groupe;
|
||||||
|
private Model model;
|
||||||
|
@Override
|
||||||
|
protected void fireValueChanged(TreeSelectionEvent e) {
|
||||||
|
TreeSelectionListener[] list=this.getTreeSelectionListeners();
|
||||||
|
list[0].valueChanged(e, g);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -38,7 +38,7 @@ public class AbstractChangementFactoryNP implements AbstractChangementFactory {
|
|||||||
// la méthode value() d'un hashmap retourne la collection des valeurs.
|
// la méthode value() d'un hashmap retourne la collection des valeurs.
|
||||||
// Il faut transformer la collection en Set.
|
// Il faut transformer la collection en Set.
|
||||||
// Un constructeur de HashSet permet de faire cette opération.
|
// Un constructeur de HashSet permet de faire cette opération.
|
||||||
Set<Changement> out = new HashSet(this.brain.values());
|
Set<Changement> out = new HashSet<Changement>(this.brain.values());
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ public class AbstractChangementFactoryNP implements AbstractChangementFactory {
|
|||||||
Objects.requireNonNull(A,"Le groupe d'origine ne peut pas être null");
|
Objects.requireNonNull(A,"Le groupe d'origine ne peut pas être null");
|
||||||
Objects.requireNonNull(B,"Le groupe d'arrivée ne peut pas être null");
|
Objects.requireNonNull(B,"Le groupe d'arrivée ne peut pas être null");
|
||||||
Objects.requireNonNull(e,"L'étudiant ne peut pas être null");
|
Objects.requireNonNull(e,"L'étudiant ne peut pas être null");
|
||||||
|
|
||||||
Changement c = new ChangementNP(A,e,B);
|
Changement c = new ChangementNP(A,e,B);
|
||||||
this.brain.put(Integer.valueOf(c.getId()),c);
|
this.brain.put(Integer.valueOf(c.getId()),c);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user