MAJ V1.0.1 (JRE1.8 with JDK 1.8.0_271)
This commit is contained in:
parent
3ecddf0c76
commit
f7a122679a
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -7,6 +7,8 @@ import java.awt.Font;
|
|||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.InputEvent;
|
import java.awt.event.InputEvent;
|
||||||
|
import java.awt.event.ItemEvent;
|
||||||
|
import java.awt.event.ItemListener;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -17,6 +19,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
import javax.swing.BoxLayout;
|
import javax.swing.BoxLayout;
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JCheckBoxMenuItem;
|
||||||
import javax.swing.JComboBox;
|
import javax.swing.JComboBox;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
@ -32,6 +35,8 @@ import javax.swing.ListSelectionModel;
|
|||||||
import javax.swing.SwingConstants;
|
import javax.swing.SwingConstants;
|
||||||
import javax.swing.border.BevelBorder;
|
import javax.swing.border.BevelBorder;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
|
import javax.swing.event.ListSelectionEvent;
|
||||||
|
import javax.swing.event.ListSelectionListener;
|
||||||
import javax.swing.table.DefaultTableCellRenderer;
|
import javax.swing.table.DefaultTableCellRenderer;
|
||||||
import javax.swing.table.DefaultTableModel;
|
import javax.swing.table.DefaultTableModel;
|
||||||
import javax.swing.table.TableModel;
|
import javax.swing.table.TableModel;
|
||||||
@ -40,6 +45,7 @@ import baseUFRHG.sauvegardeXMLBase.saveType;
|
|||||||
import baseUFRHG.actions.exportEmargement;
|
import baseUFRHG.actions.exportEmargement;
|
||||||
import baseUFRHG.actions.exportTable;
|
import baseUFRHG.actions.exportTable;
|
||||||
import baseUFRHG.actions.saveTable;
|
import baseUFRHG.actions.saveTable;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
|
||||||
public class gestionnaire extends JFrame {
|
public class gestionnaire extends JFrame {
|
||||||
|
|
||||||
@ -58,13 +64,28 @@ public class gestionnaire extends JFrame {
|
|||||||
private JComboBox<String> cLV2;
|
private JComboBox<String> cLV2;
|
||||||
private JComboBox<String> cInformatique;
|
private JComboBox<String> cInformatique;
|
||||||
private JComboBox<String> cLangue;
|
private JComboBox<String> cLangue;
|
||||||
|
private JComboBox<String> cDocumentation;
|
||||||
private JComboBox<String> cProfil;
|
private JComboBox<String> cProfil;
|
||||||
|
private JComboBox<String> cGroupePrincipal;
|
||||||
|
private JComboBox<String> cGroupeProjet;
|
||||||
|
private JCheckBoxMenuItem chckToutesLesColonnes = new JCheckBoxMenuItem("Affiche toutes les colonnes");
|
||||||
|
private JCheckBoxMenuItem chckGroupeTD = new JCheckBoxMenuItem("Groupe TD");
|
||||||
|
private JCheckBoxMenuItem chckGroupeLangue = new JCheckBoxMenuItem("Groupe Langue");
|
||||||
|
private JCheckBoxMenuItem chckGroupeInformatique = new JCheckBoxMenuItem("Groupe Informatique");
|
||||||
|
private JCheckBoxMenuItem chckGroupeDocumentation = new JCheckBoxMenuItem("Groupe Documentation");
|
||||||
|
private JCheckBoxMenuItem chckLV1 = new JCheckBoxMenuItem("LV1 : Langue Vivante 1");
|
||||||
|
private JCheckBoxMenuItem chckLV2 = new JCheckBoxMenuItem("LV2 : Langue Vivante 2");
|
||||||
|
private JCheckBoxMenuItem chckGroupePrincipal= new JCheckBoxMenuItem("Groupe Principal");
|
||||||
|
private JCheckBoxMenuItem chckGroupeProjet= new JCheckBoxMenuItem("Groupe Projet");
|
||||||
|
|
||||||
|
|
||||||
JLabel lblInformation = new JLabel("Information :");
|
JLabel lblInformation = new JLabel("Information :");
|
||||||
|
JLabel lblInformationStudent = new JLabel("");
|
||||||
private JTable table;
|
private JTable table;
|
||||||
private String defautYear = null;
|
private String defautYear = null;
|
||||||
public noeud nTable = null;
|
public noeud nTable = null;
|
||||||
|
|
||||||
|
List<String> prefereAffichage = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -195,6 +216,101 @@ public class gestionnaire extends JFrame {
|
|||||||
|
|
||||||
panelNorth.add(menuBar, BorderLayout.NORTH);
|
panelNorth.add(menuBar, BorderLayout.NORTH);
|
||||||
|
|
||||||
|
JMenu menuAffichage = new JMenu("Affichage");
|
||||||
|
menuAffichage.setFont(new Font("Segoe UI", Font.BOLD, 14));
|
||||||
|
menuBar.add(menuAffichage);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
menuAffichage.add(chckToutesLesColonnes);
|
||||||
|
chckToutesLesColonnes.setSelected(true);
|
||||||
|
chckToutesLesColonnes.addItemListener(new ItemListener() {
|
||||||
|
public void itemStateChanged(ItemEvent e) {
|
||||||
|
if(chckToutesLesColonnes.isSelected()) {
|
||||||
|
chckGroupePrincipal.setSelected(true);
|
||||||
|
chckLV2.setSelected(true);
|
||||||
|
chckLV1.setSelected(true);
|
||||||
|
chckGroupeTD.setSelected(true);
|
||||||
|
chckGroupeLangue.setSelected(true);
|
||||||
|
chckGroupeInformatique.setSelected(true);
|
||||||
|
chckGroupeDocumentation.setSelected(true);
|
||||||
|
chckGroupeProjet.setSelected(true);
|
||||||
|
}
|
||||||
|
majTableFormation();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
menuAffichage.addSeparator();
|
||||||
|
|
||||||
|
chckGroupePrincipal.setSelected(true);
|
||||||
|
menuAffichage.add(chckGroupePrincipal);
|
||||||
|
chckGroupePrincipal.addItemListener(new ItemListener() {
|
||||||
|
public void itemStateChanged(ItemEvent e) {
|
||||||
|
majTableFormation();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
chckGroupeTD.setSelected(true);
|
||||||
|
menuAffichage.add(chckGroupeTD);
|
||||||
|
chckGroupeTD.addItemListener(new ItemListener() {
|
||||||
|
public void itemStateChanged(ItemEvent e) {
|
||||||
|
majTableFormation();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
chckGroupeLangue.setSelected(true);
|
||||||
|
menuAffichage.add(chckGroupeLangue);
|
||||||
|
chckGroupeLangue.addItemListener(new ItemListener() {
|
||||||
|
public void itemStateChanged(ItemEvent e) {
|
||||||
|
majTableFormation();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
chckGroupeInformatique.setSelected(true);
|
||||||
|
menuAffichage.add(chckGroupeInformatique);
|
||||||
|
chckGroupeInformatique.addItemListener(new ItemListener() {
|
||||||
|
public void itemStateChanged(ItemEvent e) {
|
||||||
|
majTableFormation();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
chckGroupeDocumentation.setSelected(true);
|
||||||
|
menuAffichage.add(chckGroupeDocumentation);
|
||||||
|
chckGroupeDocumentation.addItemListener(new ItemListener() {
|
||||||
|
public void itemStateChanged(ItemEvent e) {
|
||||||
|
majTableFormation();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
chckGroupeProjet.setSelected(true);
|
||||||
|
menuAffichage.add(chckGroupeProjet);
|
||||||
|
chckGroupeProjet.addItemListener(new ItemListener() {
|
||||||
|
public void itemStateChanged(ItemEvent e) {
|
||||||
|
majTableFormation();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
chckLV1.setSelected(true);
|
||||||
|
menuAffichage.add(chckLV1);
|
||||||
|
chckLV1.addItemListener(new ItemListener() {
|
||||||
|
public void itemStateChanged(ItemEvent e) {
|
||||||
|
majTableFormation();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
chckLV2.setSelected(true);
|
||||||
|
menuAffichage.add(chckLV2);
|
||||||
|
chckLV2.addItemListener(new ItemListener() {
|
||||||
|
public void itemStateChanged(ItemEvent e) {
|
||||||
|
majTableFormation();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
JMenu menuExport = new JMenu("Export");
|
JMenu menuExport = new JMenu("Export");
|
||||||
menuExport.setFont(new Font("Tahoma", Font.BOLD, 14));
|
menuExport.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||||
JMenuItem exportItem = menuExport.add(new exportTable(this));
|
JMenuItem exportItem = menuExport.add(new exportTable(this));
|
||||||
@ -208,12 +324,12 @@ public class gestionnaire extends JFrame {
|
|||||||
panelNorth.add(panelFiltre);
|
panelNorth.add(panelFiltre);
|
||||||
|
|
||||||
cLV1= new JComboBox<String>();
|
cLV1= new JComboBox<String>();
|
||||||
cLV1.setBounds(677, 77, 168, 32);
|
cLV1.setBounds(854, 77, 168, 32);
|
||||||
panelFiltre.add(cLV1);
|
panelFiltre.add(cLV1);
|
||||||
|
|
||||||
JLabel lblNewLabel_1 = new JLabel("LV1");
|
JLabel lblNewLabel_1 = new JLabel("LV1");
|
||||||
lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 12));
|
lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 12));
|
||||||
lblNewLabel_1.setBounds(677, 60, 84, 14);
|
lblNewLabel_1.setBounds(854, 60, 84, 14);
|
||||||
panelFiltre.add(lblNewLabel_1);
|
panelFiltre.add(lblNewLabel_1);
|
||||||
|
|
||||||
cInformatique = new JComboBox<String>();
|
cInformatique = new JComboBox<String>();
|
||||||
@ -226,12 +342,12 @@ public class gestionnaire extends JFrame {
|
|||||||
panelFiltre.add(lblGroupeInformatique);
|
panelFiltre.add(lblGroupeInformatique);
|
||||||
|
|
||||||
cLV2 = new JComboBox<String>();
|
cLV2 = new JComboBox<String>();
|
||||||
cLV2.setBounds(677, 25, 168, 32);
|
cLV2.setBounds(854, 25, 168, 32);
|
||||||
panelFiltre.add(cLV2);
|
panelFiltre.add(cLV2);
|
||||||
|
|
||||||
JLabel lblNewLabel_3 = new JLabel("LV2");
|
JLabel lblNewLabel_3 = new JLabel("LV2");
|
||||||
lblNewLabel_3.setFont(new Font("Tahoma", Font.BOLD, 12));
|
lblNewLabel_3.setFont(new Font("Tahoma", Font.BOLD, 12));
|
||||||
lblNewLabel_3.setBounds(677, 11, 46, 14);
|
lblNewLabel_3.setBounds(854, 11, 46, 14);
|
||||||
panelFiltre.add(lblNewLabel_3);
|
panelFiltre.add(lblNewLabel_3);
|
||||||
|
|
||||||
cLangue= new JComboBox<String>();
|
cLangue= new JComboBox<String>();
|
||||||
@ -244,25 +360,73 @@ public class gestionnaire extends JFrame {
|
|||||||
panelFiltre.add(lblGroupeLangue);
|
panelFiltre.add(lblGroupeLangue);
|
||||||
|
|
||||||
cProfil = new JComboBox<String>();
|
cProfil = new JComboBox<String>();
|
||||||
cProfil.setBounds(855, 25, 168, 32);
|
cProfil.setBounds(1032, 25, 168, 32);
|
||||||
panelFiltre.add(cProfil);
|
panelFiltre.add(cProfil);
|
||||||
|
|
||||||
JLabel lblProfil = new JLabel("Profil étudiant");
|
JLabel lblProfil = new JLabel("Profil étudiant");
|
||||||
lblProfil.setFont(new Font("Tahoma", Font.BOLD, 12));
|
lblProfil.setFont(new Font("Tahoma", Font.BOLD, 12));
|
||||||
lblProfil.setBounds(855, 11, 127, 14);
|
lblProfil.setBounds(1032, 11, 127, 14);
|
||||||
panelFiltre.add(lblProfil);
|
panelFiltre.add(lblProfil);
|
||||||
|
|
||||||
|
cDocumentation = new JComboBox<String>();
|
||||||
|
cDocumentation.setBounds(498, 77, 169, 32);
|
||||||
|
panelFiltre.add(cDocumentation);
|
||||||
|
|
||||||
|
JLabel lblGroupeDocumentation = new JLabel("Groupe Documentation");
|
||||||
|
lblGroupeDocumentation.setFont(new Font("Tahoma", Font.BOLD, 12));
|
||||||
|
lblGroupeDocumentation.setBounds(499, 60, 160, 14);
|
||||||
|
panelFiltre.add(lblGroupeDocumentation);
|
||||||
|
|
||||||
|
cGroupePrincipal = new JComboBox<String>();
|
||||||
|
cGroupePrincipal.setBounds(677, 25, 168, 32);
|
||||||
|
panelFiltre.add(cGroupePrincipal);
|
||||||
|
|
||||||
|
JLabel lblGroupePrincipal = new JLabel("Groupe Principal");
|
||||||
|
lblGroupePrincipal.setFont(new Font("Tahoma", Font.BOLD, 12));
|
||||||
|
lblGroupePrincipal.setBounds(677, 11, 160, 14);
|
||||||
|
panelFiltre.add(lblGroupePrincipal);
|
||||||
|
|
||||||
|
JButton btnNewButton = new JButton("Réïnitialise");
|
||||||
|
btnNewButton.addActionListener(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
cDocumentation.setSelectedIndex(0);
|
||||||
|
cInformatique.setSelectedIndex(0);
|
||||||
|
cProfil.setSelectedIndex(0);
|
||||||
|
cGroupePrincipal.setSelectedIndex(0);
|
||||||
|
cGroupeProjet.setSelectedIndex(0);
|
||||||
|
cGroupeTD.setSelectedIndex(0);
|
||||||
|
cLV1.setSelectedIndex(0);
|
||||||
|
cLV2.setSelectedIndex(0);
|
||||||
|
cLangue.setSelectedIndex(0);
|
||||||
|
majTableGroupes();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
btnNewButton.setFont(new Font("Tahoma", Font.BOLD, 11));
|
||||||
|
btnNewButton.setBounds(186, 25, 113, 32);
|
||||||
|
panelFiltre.add(btnNewButton);
|
||||||
|
|
||||||
|
cGroupeProjet = new JComboBox<String>();
|
||||||
|
cGroupeProjet.setBounds(677, 77, 167, 32);
|
||||||
|
panelFiltre.add(cGroupeProjet);
|
||||||
|
|
||||||
|
JLabel lblGroupeProjet = new JLabel("Groupe Projet");
|
||||||
|
lblGroupeProjet.setFont(new Font("Tahoma", Font.BOLD, 12));
|
||||||
|
lblGroupeProjet.setBounds(677, 61, 152, 14);
|
||||||
|
panelFiltre.add(lblGroupeProjet);
|
||||||
|
|
||||||
JPanel panelSouth = new JPanel();
|
JPanel panelSouth = new JPanel();
|
||||||
panelSouth.setPreferredSize(new Dimension(400, 90));
|
panelSouth.setPreferredSize(new Dimension(400, 90));
|
||||||
panelSouth.setBackground(Color.gray);
|
panelSouth.setBackground(Color.gray);
|
||||||
contentPane.add(panelSouth, BorderLayout.SOUTH);
|
contentPane.add(panelSouth, BorderLayout.SOUTH);
|
||||||
panelSouth.setLayout(new BoxLayout(panelSouth, BoxLayout.X_AXIS));
|
panelSouth.setLayout(new BoxLayout(panelSouth, BoxLayout.Y_AXIS));
|
||||||
|
|
||||||
|
|
||||||
lblInformation.setAlignmentX(10.0f);
|
|
||||||
lblInformation.setForeground(new Color(255, 255, 255));
|
lblInformation.setForeground(new Color(255, 255, 255));
|
||||||
lblInformation.setFont(new Font("Tahoma", Font.BOLD, 12));
|
lblInformation.setFont(new Font("Tahoma", Font.BOLD, 12));
|
||||||
panelSouth.add(lblInformation);
|
panelSouth.add(lblInformation);
|
||||||
|
|
||||||
|
lblInformationStudent.setForeground(new Color(255, 255, 128));
|
||||||
|
lblInformationStudent.setFont(new Font("Tahoma", Font.PLAIN, 12));
|
||||||
|
lblInformationStudent.setAlignmentY(1.0f);
|
||||||
|
panelSouth.add(lblInformationStudent);
|
||||||
|
|
||||||
|
|
||||||
// Ajout d'un ActionListener à la JComboBox
|
// Ajout d'un ActionListener à la JComboBox
|
||||||
@ -316,6 +480,63 @@ public class gestionnaire extends JFrame {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
cDocumentation.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
majTableGroupes();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
cGroupePrincipal.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
majTableGroupes();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
cGroupeProjet.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
majTableGroupes();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// Ajout d'un ListSelectionListener pour détecter la sélection de la ligne
|
||||||
|
ListSelectionModel selectionModel = table.getSelectionModel();
|
||||||
|
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||||
|
selectionModel.addListSelectionListener(new ListSelectionListener() {
|
||||||
|
@Override
|
||||||
|
public void valueChanged(ListSelectionEvent e) {
|
||||||
|
if (!e.getValueIsAdjusting()) {
|
||||||
|
int selectedRow = table.getSelectedRow();
|
||||||
|
if (selectedRow != -1) {
|
||||||
|
|
||||||
|
// Récupération des données de la ligne sélectionnée
|
||||||
|
Object[] rowData = new Object[table.getColumnCount()];
|
||||||
|
for (int i = 0; i < table.getColumnCount(); i++) {
|
||||||
|
rowData[i] = table.getValueAt(selectedRow, i);
|
||||||
|
}
|
||||||
|
// Concaténation des valeurs de la ligne dans une chaîne de caractères
|
||||||
|
// StringBuilder sb = new StringBuilder();
|
||||||
|
// for (Object value : rowData) {
|
||||||
|
// sb.append(value).append(", ");
|
||||||
|
// }
|
||||||
|
// sb.delete(sb.length() - 2, sb.length()); // Suppression de la virgule finale
|
||||||
|
// String rowDataString = sb.toString();
|
||||||
|
|
||||||
|
// Mise à jour de la JLabel avec les données de la ligne sélectionnée
|
||||||
|
// lblInformationStudent.setText("<html><p>Ligne : " + selectedRow + "<br> " + table.getValueAt(selectedRow, 16) + " " + table.getValueAt(selectedRow, 15)
|
||||||
|
// + " - - Groupe TD : " + table.getValueAt(selectedRow, 10)
|
||||||
|
// + " - - Groupe Langue : "+ table.getValueAt(selectedRow, 7)
|
||||||
|
// + " - - Groupe Informatique : " + table.getValueAt(selectedRow, 6) +"</p></html>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
majTableFormation();
|
majTableFormation();
|
||||||
majTableGroupes();
|
majTableGroupes();
|
||||||
frame.setVisible(true);
|
frame.setVisible(true);
|
||||||
@ -328,19 +549,45 @@ public class gestionnaire extends JFrame {
|
|||||||
if(nYears!=null) {
|
if(nYears!=null) {
|
||||||
noeud nFormation = nYears.getChild(cFormations.getSelectedItem().toString());
|
noeud nFormation = nYears.getChild(cFormations.getSelectedItem().toString());
|
||||||
|
|
||||||
|
String selectedGroupeTD = null;
|
||||||
|
String selectedLV1 = null;
|
||||||
|
String selectedLV2 = null;
|
||||||
|
String selectedLangue = null;
|
||||||
|
String selectedInformatique = null;
|
||||||
|
String selectedDocumentation = null;
|
||||||
|
String selectedProfil = null;
|
||||||
|
String selectedGroupePrincipal = null;
|
||||||
|
String selectedGroupeProjet= null;
|
||||||
|
|
||||||
|
if(cGroupeTD.getItemCount()>0) selectedGroupeTD = cGroupeTD.getSelectedItem().toString();
|
||||||
|
if(cLV1.getItemCount()>0) selectedLV1 = cLV1.getSelectedItem().toString();
|
||||||
|
if(cLV2.getItemCount()>0) selectedLV2 = cLV2.getSelectedItem().toString();
|
||||||
|
if(cLangue.getItemCount()>0) selectedLangue = cLangue.getSelectedItem().toString();
|
||||||
|
if(cInformatique.getItemCount()>0) selectedInformatique = cInformatique.getSelectedItem().toString();
|
||||||
|
if(cDocumentation.getItemCount()>0) selectedDocumentation = cDocumentation.getSelectedItem().toString();
|
||||||
|
if(cProfil.getItemCount()>0) selectedProfil = cProfil.getSelectedItem().toString();
|
||||||
|
if(cGroupePrincipal.getItemCount()>0) selectedGroupePrincipal = cGroupePrincipal.getSelectedItem().toString();
|
||||||
|
if(cGroupeProjet.getItemCount()>0) selectedGroupeProjet = cGroupeProjet.getSelectedItem().toString();
|
||||||
|
|
||||||
cGroupeTD.removeAllItems();
|
cGroupeTD.removeAllItems();
|
||||||
cLV1.removeAllItems();
|
cLV1.removeAllItems();
|
||||||
cLV2.removeAllItems();
|
cLV2.removeAllItems();
|
||||||
cLangue.removeAllItems();
|
cLangue.removeAllItems();
|
||||||
cInformatique.removeAllItems();
|
cInformatique.removeAllItems();
|
||||||
|
cDocumentation.removeAllItems();
|
||||||
cProfil.removeAllItems();
|
cProfil.removeAllItems();
|
||||||
|
cGroupePrincipal.removeAllItems();
|
||||||
|
cGroupeProjet.removeAllItems();
|
||||||
|
|
||||||
List<String> lGroupeTD = new ArrayList<String>();
|
List<String> lGroupeTD = new ArrayList<String>();
|
||||||
List<String> lLV1 = new ArrayList<String>();
|
List<String> lLV1 = new ArrayList<String>();
|
||||||
List<String> lLV2 = new ArrayList<String>();
|
List<String> lLV2 = new ArrayList<String>();
|
||||||
List<String> lGroupeLangue = new ArrayList<String>();
|
List<String> lGroupeLangue = new ArrayList<String>();
|
||||||
List<String> lGroupeInformatique = new ArrayList<String>();
|
List<String> lGroupeInformatique = new ArrayList<String>();
|
||||||
|
List<String> lGroupeDocumentation = new ArrayList<String>();
|
||||||
List<String> lProfil = new ArrayList<String>();
|
List<String> lProfil = new ArrayList<String>();
|
||||||
|
List<String> lGroupePrincipal = new ArrayList<String>();
|
||||||
|
List<String> lGroupeProjet = new ArrayList<String>();
|
||||||
|
|
||||||
String pasChoisi = " - ";
|
String pasChoisi = " - ";
|
||||||
|
|
||||||
@ -354,6 +601,9 @@ public class gestionnaire extends JFrame {
|
|||||||
String GroupeLangue = nStudent.getAttributes("Groupe_Langue");
|
String GroupeLangue = nStudent.getAttributes("Groupe_Langue");
|
||||||
String GroupeInformatique = nStudent.getAttributes("Groupe_Informatique");
|
String GroupeInformatique = nStudent.getAttributes("Groupe_Informatique");
|
||||||
String Profil = nStudent.getAttributes("Profil_etudiant_lib.");
|
String Profil = nStudent.getAttributes("Profil_etudiant_lib.");
|
||||||
|
String Documentation = nStudent.getAttributes("Groupe_Doc");
|
||||||
|
String GroupePrincipal = nStudent.getAttributes("Groupe_Principal");
|
||||||
|
String GroupeProjet = nStudent.getAttributes("Groupe_Projet");
|
||||||
|
|
||||||
boolean isOnlySpaces = GroupeTD.matches("\\s+");
|
boolean isOnlySpaces = GroupeTD.matches("\\s+");
|
||||||
if(!lGroupeTD.contains(GroupeTD) && !isOnlySpaces) {
|
if(!lGroupeTD.contains(GroupeTD) && !isOnlySpaces) {
|
||||||
@ -379,7 +629,18 @@ public class gestionnaire extends JFrame {
|
|||||||
if(!lProfil.contains(Profil) && !isOnlySpaces) {
|
if(!lProfil.contains(Profil) && !isOnlySpaces) {
|
||||||
lProfil.add(Profil);
|
lProfil.add(Profil);
|
||||||
}
|
}
|
||||||
|
isOnlySpaces = Documentation.matches("\\s+");
|
||||||
|
if(!lGroupeDocumentation.contains(Documentation) && !isOnlySpaces) {
|
||||||
|
lGroupeDocumentation.add(Documentation);
|
||||||
|
}
|
||||||
|
isOnlySpaces = GroupePrincipal.matches("\\s+");
|
||||||
|
if(!lGroupePrincipal.contains(GroupePrincipal) && !isOnlySpaces) {
|
||||||
|
lGroupePrincipal.add(GroupePrincipal);
|
||||||
|
}
|
||||||
|
isOnlySpaces = GroupeProjet.matches("\\s+");
|
||||||
|
if(!lGroupeProjet.contains(GroupeProjet) && !isOnlySpaces) {
|
||||||
|
lGroupeProjet.add(GroupeProjet);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -388,36 +649,82 @@ public class gestionnaire extends JFrame {
|
|||||||
for (String option : lGroupeTD) {
|
for (String option : lGroupeTD) {
|
||||||
cGroupeTD.addItem(option);
|
cGroupeTD.addItem(option);
|
||||||
}
|
}
|
||||||
|
if(selectedGroupeTD!=null)if(lGroupeTD.contains(selectedGroupeTD)) {
|
||||||
|
cGroupeTD.setSelectedItem(selectedGroupeTD);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Collections.sort(lLV1);
|
Collections.sort(lLV1);
|
||||||
cLV1.addItem(pasChoisi);
|
cLV1.addItem(pasChoisi);
|
||||||
for (String option : lLV1) {
|
for (String option : lLV1) {
|
||||||
cLV1.addItem(option);
|
cLV1.addItem(option);
|
||||||
}
|
}
|
||||||
|
if(selectedLV1!=null)if(lLV1.contains(selectedLV1)) {
|
||||||
|
cLV1.setSelectedItem(selectedLV1);
|
||||||
|
}
|
||||||
|
|
||||||
Collections.sort(lLV2);
|
Collections.sort(lLV2);
|
||||||
cLV2.addItem(pasChoisi);
|
cLV2.addItem(pasChoisi);
|
||||||
for (String option : lLV2) {
|
for (String option : lLV2) {
|
||||||
cLV2.addItem(option);
|
cLV2.addItem(option);
|
||||||
}
|
}
|
||||||
|
if(selectedLV2!=null)if(lLV2.contains(selectedLV2)) {
|
||||||
|
cLV2.setSelectedItem(selectedLV2);
|
||||||
|
}
|
||||||
|
|
||||||
Collections.sort(lGroupeLangue);
|
Collections.sort(lGroupeLangue);
|
||||||
cLangue.addItem(pasChoisi);
|
cLangue.addItem(pasChoisi);
|
||||||
for (String option : lGroupeLangue) {
|
for (String option : lGroupeLangue) {
|
||||||
cLangue.addItem(option);
|
cLangue.addItem(option);
|
||||||
}
|
}
|
||||||
|
if(selectedLangue!=null)if(lGroupeLangue.contains(selectedLangue)) {
|
||||||
|
cLangue.setSelectedItem(selectedLangue);
|
||||||
|
}
|
||||||
|
|
||||||
Collections.sort(lGroupeInformatique);
|
Collections.sort(lGroupeInformatique);
|
||||||
cInformatique.addItem(pasChoisi);
|
cInformatique.addItem(pasChoisi);
|
||||||
for (String option : lGroupeInformatique) {
|
for (String option : lGroupeInformatique) {
|
||||||
cInformatique.addItem(option);
|
cInformatique.addItem(option);
|
||||||
}
|
}
|
||||||
|
if(selectedInformatique!=null)if(lGroupeInformatique.contains(selectedInformatique)) {
|
||||||
|
cInformatique.setSelectedItem(selectedInformatique);
|
||||||
|
}
|
||||||
|
|
||||||
Collections.sort(lProfil);
|
Collections.sort(lProfil);
|
||||||
cProfil.addItem(pasChoisi);
|
cProfil.addItem(pasChoisi);
|
||||||
for (String option : lProfil) {
|
for (String option : lProfil) {
|
||||||
cProfil.addItem(option);
|
cProfil.addItem(option);
|
||||||
}
|
}
|
||||||
|
if(selectedProfil!=null)if(lProfil.contains(selectedProfil)) {
|
||||||
|
cProfil.setSelectedItem(selectedProfil);
|
||||||
|
}
|
||||||
|
|
||||||
|
Collections.sort(lGroupeDocumentation);
|
||||||
|
cDocumentation.addItem(pasChoisi);
|
||||||
|
for (String option : lGroupeDocumentation) {
|
||||||
|
cDocumentation.addItem(option);
|
||||||
|
}
|
||||||
|
if(selectedDocumentation!=null)if(lGroupeDocumentation.contains(selectedDocumentation)) {
|
||||||
|
cDocumentation.setSelectedItem(selectedDocumentation);
|
||||||
|
}
|
||||||
|
|
||||||
|
Collections.sort(lGroupePrincipal);
|
||||||
|
cGroupePrincipal.addItem(pasChoisi);
|
||||||
|
for (String option : lGroupePrincipal) {
|
||||||
|
cGroupePrincipal.addItem(option);
|
||||||
|
}
|
||||||
|
if(selectedGroupePrincipal!=null)if(lGroupePrincipal.contains(selectedGroupePrincipal)) {
|
||||||
|
cGroupePrincipal.setSelectedItem(selectedGroupePrincipal);
|
||||||
|
}
|
||||||
|
|
||||||
|
Collections.sort(lGroupeProjet);
|
||||||
|
cGroupeProjet.addItem(pasChoisi);
|
||||||
|
for (String option : lGroupeProjet) {
|
||||||
|
cGroupeProjet.addItem(option);
|
||||||
|
}
|
||||||
|
if(selectedGroupeProjet!=null)if(lGroupeProjet.contains(selectedGroupeProjet)) {
|
||||||
|
cGroupeProjet.setSelectedItem(selectedGroupeProjet);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -438,6 +745,9 @@ public class gestionnaire extends JFrame {
|
|||||||
String GroupeLangue = (String) cLangue.getSelectedItem();
|
String GroupeLangue = (String) cLangue.getSelectedItem();
|
||||||
String GroupeInformatique = (String) cInformatique.getSelectedItem();
|
String GroupeInformatique = (String) cInformatique.getSelectedItem();
|
||||||
String Profil = (String) cProfil.getSelectedItem();
|
String Profil = (String) cProfil.getSelectedItem();
|
||||||
|
String GroupeDocumentation = (String) cDocumentation.getSelectedItem();
|
||||||
|
String GroupePrincipal = (String) cGroupePrincipal.getSelectedItem();
|
||||||
|
String GroupeProjet = (String) cGroupeProjet.getSelectedItem();
|
||||||
|
|
||||||
nTable = new noeud("Table");
|
nTable = new noeud("Table");
|
||||||
nTable.setAttribut("defaut_Year", defautYear);
|
nTable.setAttribut("defaut_Year", defautYear);
|
||||||
@ -484,119 +794,215 @@ public class gestionnaire extends JFrame {
|
|||||||
Profil = pasChoisi;
|
Profil = pasChoisi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(cDocumentation.getSelectedItem()!=null) {
|
||||||
|
nTable.setAttribut("Groupe_Doc", cDocumentation.getSelectedItem().toString());
|
||||||
|
}else {
|
||||||
|
nTable.setAttribut("Groupe_Doc", pasChoisi);
|
||||||
|
GroupeDocumentation = pasChoisi;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(cGroupePrincipal.getSelectedItem()!=null) {
|
||||||
|
nTable.setAttribut("Groupe_Principal", cGroupePrincipal.getSelectedItem().toString());
|
||||||
|
}else {
|
||||||
|
nTable.setAttribut("Groupe_Principal", pasChoisi);
|
||||||
|
GroupePrincipal = pasChoisi;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(cGroupeProjet.getSelectedItem()!=null) {
|
||||||
|
nTable.setAttribut("Groupe_Projet", cGroupeProjet.getSelectedItem().toString());
|
||||||
|
}else {
|
||||||
|
nTable.setAttribut("Groupe_Projet", pasChoisi);
|
||||||
|
GroupeProjet = pasChoisi;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Map<String, Integer> dictionary = new HashMap<>();
|
Map<String, Integer> dictionary = new HashMap<>();
|
||||||
|
|
||||||
if(GroupeTD!=null) {
|
noeud nYears = commandes.nBase.getChild(cYears.getSelectedItem().toString());
|
||||||
noeud nYears = commandes.nBase.getChild(cYears.getSelectedItem().toString());
|
nTable.setAttribut("Formation", cFormations.getSelectedItem().toString());
|
||||||
nTable.setAttribut("Formation", cFormations.getSelectedItem().toString());
|
|
||||||
|
if(nYears!=null) {
|
||||||
|
noeud nFormation = nYears.getChild(cFormations.getSelectedItem().toString());
|
||||||
|
String[][] data = new String[nFormation.getChildren().size()][31] ;
|
||||||
|
|
||||||
if(nYears!=null) {
|
// création de l'entête
|
||||||
noeud nFormation = nYears.getChild(cFormations.getSelectedItem().toString());
|
int indexCol = 0;
|
||||||
String[][] data = new String[nFormation.getChildren().size()][31] ;
|
int compteur = 0;
|
||||||
|
noeud firstStudent = nFormation.getFirstChild();
|
||||||
// création de l'entête
|
for (Map.Entry<String, String> entry : firstStudent.getAttributes().entrySet()) {
|
||||||
int indexCol = 0;
|
String key = entry.getKey();
|
||||||
int compteur = 0;
|
if(chckToutesLesColonnes.isSelected() ) {
|
||||||
noeud firstStudent = nFormation.getFirstChild();
|
dictionary.put(key, indexCol);
|
||||||
for (Map.Entry<String, String> entry : firstStudent.getAttributes().entrySet()) {
|
|
||||||
String key = entry.getKey();
|
|
||||||
dictionary.put(key, indexCol);
|
|
||||||
indexCol++;
|
indexCol++;
|
||||||
}
|
}else {
|
||||||
|
if(key.equals("Individu_-_Nom") || key.equals("Individu_-_Prenom") || key.equals("Individu_-_Code_Etudiant")) {
|
||||||
|
dictionary.put(key, indexCol);
|
||||||
|
indexCol++;
|
||||||
|
}
|
||||||
|
if(chckGroupePrincipal.isSelected() && key.equals("Groupe_Principal") ) {
|
||||||
|
dictionary.put(key, indexCol);
|
||||||
|
indexCol++;
|
||||||
|
}
|
||||||
|
if(chckGroupeTD.isSelected() && key.equals("Groupe_TD") ) {
|
||||||
|
dictionary.put(key, indexCol);
|
||||||
|
indexCol++;
|
||||||
|
}
|
||||||
|
if(chckGroupeLangue.isSelected() && key.equals("Groupe_Langue") ) {
|
||||||
|
dictionary.put(key, indexCol);
|
||||||
|
indexCol++;
|
||||||
|
}
|
||||||
|
if(chckGroupeInformatique.isSelected() && key.equals("Groupe_Informatique") ) {
|
||||||
|
dictionary.put(key, indexCol);
|
||||||
|
indexCol++;
|
||||||
|
}
|
||||||
|
if(chckGroupeDocumentation.isSelected() && key.equals("Groupe_Doc") ) {
|
||||||
|
dictionary.put(key, indexCol);
|
||||||
|
indexCol++;
|
||||||
|
}
|
||||||
|
if(chckLV1.isSelected() && key.equals("LV1") ) {
|
||||||
|
dictionary.put(key, indexCol);
|
||||||
|
indexCol++;
|
||||||
|
}
|
||||||
|
if(chckLV2.isSelected() && key.equals("LV2") ) {
|
||||||
|
dictionary.put(key, indexCol);
|
||||||
|
indexCol++;
|
||||||
|
}
|
||||||
|
if(chckGroupeProjet.isSelected() && key.equals("Groupe_Projet") ) {
|
||||||
|
dictionary.put(key, indexCol);
|
||||||
|
indexCol++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int indexRow = 0;
|
||||||
|
for(noeud nStudent : nFormation.getChildren()) {
|
||||||
|
indexCol = 0;
|
||||||
|
boolean trouve = false;
|
||||||
|
for (Map.Entry<String, String> entry : nStudent.getAttributes().entrySet()) {
|
||||||
|
|
||||||
|
if( ( nStudent.getAttributes("Groupe_Projet").equals(GroupeProjet) || GroupeProjet.equals(pasChoisi) )
|
||||||
|
&& ( nStudent.getAttributes("Groupe_Principal").equals(GroupePrincipal) || GroupePrincipal.equals(pasChoisi) )
|
||||||
|
&& ( nStudent.getAttributes("Groupe_Doc").equals(GroupeDocumentation) || GroupeDocumentation.equals(pasChoisi) )
|
||||||
|
&& ( nStudent.getAttributes("Profil_etudiant_lib.").equals(Profil) || Profil.equals(pasChoisi) )
|
||||||
|
&& ( nStudent.getAttributes("Groupe_Langue").equals(GroupeLangue) || GroupeLangue.equals(pasChoisi) )
|
||||||
|
&& ( nStudent.getAttributes("LV2").equals(LV2) || LV2.equals(pasChoisi) )
|
||||||
|
&& ( nStudent.getAttributes("Groupe_Informatique").equals(GroupeInformatique) || GroupeInformatique.equals(pasChoisi) )
|
||||||
|
&& ( nStudent.getAttributes("Groupe_TD").equals(GroupeTD) || GroupeTD.equals(pasChoisi) )
|
||||||
|
&& ( nStudent.getAttributes("LV1").equals(LV1) || LV1.equals(pasChoisi) ) ) {
|
||||||
|
|
||||||
|
if(dictionary.get(entry.getKey())!=null) {
|
||||||
|
String key = entry.getKey();
|
||||||
|
if(chckToutesLesColonnes.isSelected() ) {
|
||||||
|
data[indexRow][dictionary.get(key)] = entry.getValue();
|
||||||
|
}else {
|
||||||
|
if(key.equals("Individu_-_Nom") || key.equals("Individu_-_Prenom") || key.equals("Individu_-_Code_Etudiant")) {
|
||||||
|
data[indexRow][dictionary.get(key)] = entry.getValue();
|
||||||
|
}
|
||||||
|
if(chckGroupePrincipal.isSelected() && key.equals("Groupe_Principal") ) {
|
||||||
|
data[indexRow][dictionary.get(key)] = entry.getValue();
|
||||||
|
}
|
||||||
|
if(chckGroupeTD.isSelected() && key.equals("Groupe_TD") ) {
|
||||||
|
data[indexRow][dictionary.get(key)] = entry.getValue();
|
||||||
|
}
|
||||||
|
if(chckGroupeLangue.isSelected() && key.equals("Groupe_Langue") ) {
|
||||||
|
data[indexRow][dictionary.get(key)] = entry.getValue();
|
||||||
|
}
|
||||||
|
if(chckGroupeInformatique.isSelected() && key.equals("Groupe_Informatique") ) {
|
||||||
|
data[indexRow][dictionary.get(key)] = entry.getValue();
|
||||||
|
}
|
||||||
|
if(chckGroupeDocumentation.isSelected() && key.equals("Groupe_Doc") ) {
|
||||||
|
data[indexRow][dictionary.get(key)] = entry.getValue();
|
||||||
|
}
|
||||||
|
if(chckLV1.isSelected() && key.equals("LV1") ) {
|
||||||
|
data[indexRow][dictionary.get(key)] = entry.getValue();
|
||||||
|
}
|
||||||
|
if(chckLV2.isSelected() && key.equals("LV2") ) {
|
||||||
|
data[indexRow][dictionary.get(key)] = entry.getValue();
|
||||||
|
}
|
||||||
|
if(chckGroupeProjet.isSelected() && key.equals("Groupe_Projet") ) {
|
||||||
|
data[indexRow][dictionary.get(key)] = entry.getValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
indexCol++;
|
||||||
|
trouve=true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int indexRow = 0;
|
if(trouve) {
|
||||||
for(noeud nStudent : nFormation.getChildren()) {
|
indexRow++;
|
||||||
indexCol = 0;
|
compteur=indexRow;
|
||||||
boolean trouve = false;
|
try {
|
||||||
for (Map.Entry<String, String> entry : nStudent.getAttributes().entrySet()) {
|
nTable.addChild(nStudent.clone());
|
||||||
|
} catch (CloneNotSupportedException e) {
|
||||||
if( ( nStudent.getAttributes("Profil_etudiant_lib.").equals(Profil) || Profil.equals(pasChoisi) )
|
e.printStackTrace();
|
||||||
&& ( nStudent.getAttributes("Groupe_Langue").equals(GroupeLangue) || GroupeLangue.equals(pasChoisi) )
|
|
||||||
&& ( nStudent.getAttributes("LV2").equals(LV2) || LV2.equals(pasChoisi) )
|
|
||||||
&& ( nStudent.getAttributes("Groupe_Informatique").equals(GroupeInformatique) || GroupeInformatique.equals(pasChoisi) )
|
|
||||||
&& ( nStudent.getAttributes("Groupe_TD").equals(GroupeTD) || GroupeTD.equals(pasChoisi) )
|
|
||||||
&& ( nStudent.getAttributes("LV1").equals(LV1) || LV1.equals(pasChoisi) ) ) {
|
|
||||||
|
|
||||||
if(dictionary.get(entry.getKey())!=null) {
|
|
||||||
data[indexRow][dictionary.get(entry.getKey())] = entry.getValue();
|
|
||||||
indexCol++;
|
|
||||||
trouve=true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(trouve) {
|
|
||||||
indexRow++;
|
|
||||||
compteur=indexRow;
|
|
||||||
try {
|
|
||||||
nTable.addChild(nStudent.clone());
|
|
||||||
} catch (CloneNotSupportedException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lblInformation.setText("Informations : Nombre d'étudaint = " + compteur);
|
|
||||||
|
|
||||||
// Obtenir les entrées du dictionnaire sous forme de liste
|
|
||||||
List<Map.Entry<String, Integer>> entryList = new ArrayList<>(dictionary.entrySet());
|
|
||||||
|
|
||||||
// Trier la liste d'entrées par ordre croissant des valeurs
|
|
||||||
Collections.sort(entryList, Comparator.comparingInt(Map.Entry::getValue));
|
|
||||||
|
|
||||||
// Extraire les clés triées dans un tableau de type String[] dans l'ordre des colonnes
|
|
||||||
String[] head = entryList.stream()
|
|
||||||
.map(Map.Entry::getKey)
|
|
||||||
.toArray(String[]::new);
|
|
||||||
|
|
||||||
table.setModel(new DefaultTableModel(data, head));
|
|
||||||
|
|
||||||
for (int columnIndex = 0; columnIndex < table.getColumnCount(); columnIndex++) {
|
|
||||||
// Obtention de la colonne à l'index donné
|
|
||||||
table.getColumnModel().getColumn(columnIndex).setPreferredWidth(getMaxColumnWidth(table, columnIndex));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ajouter un écouteur de modification de cellule à la table
|
|
||||||
table.getModel().addTableModelListener(e -> {
|
|
||||||
int row = e.getFirstRow();
|
|
||||||
int column = e.getColumn();
|
|
||||||
if (row != -1 && column != -1) {
|
|
||||||
String key = getColumnsName()[column];
|
|
||||||
String value = (String) table.getValueAt(row, column);
|
|
||||||
|
|
||||||
// Obtenir l'indice de la colonne "Individu_-_Code_Etudiant"
|
|
||||||
int columnIndex = table.getColumnModel().getColumnIndex("Individu_-_Code_Etudiant");
|
|
||||||
String numeroEtudiant = (String) table.getModel().getValueAt(row, columnIndex);
|
|
||||||
|
|
||||||
noeud nF = commandes.nBase.getChild(defautYear).getChild(cFormations.getSelectedItem().toString());
|
|
||||||
String codeStudent = "n"+numeroEtudiant;
|
|
||||||
|
|
||||||
noeud nStudent = nF.getChild(codeStudent);
|
|
||||||
|
|
||||||
boolean isOnlySpace = value.matches("\\s+");
|
|
||||||
if(!isOnlySpace) {
|
|
||||||
try {
|
|
||||||
nStudent.setAttribut(key, value.trim() );
|
|
||||||
sauvegardeXMLBase.save(commandes.nBase, saveType.SANS_MESSAGE);
|
|
||||||
}catch (Exception e1) {
|
|
||||||
JOptionPane.showMessageDialog(null, "Impossible de sauvegarder ce contenu.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
JOptionPane.showMessageDialog(null, "Le contenu ne doit pas être composé d'espace.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
|
||||||
table.setValueAt("", row, column);
|
|
||||||
}
|
|
||||||
|
|
||||||
majTableFormation();
|
|
||||||
majTableGroupes();
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
table.revalidate();
|
|
||||||
table.repaint();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lblInformation.setText("Informations : Nombre d'étudaint = " + compteur);
|
||||||
|
|
||||||
|
// Obtenir les entrées du dictionnaire sous forme de liste
|
||||||
|
List<Map.Entry<String, Integer>> entryList = new ArrayList<>(dictionary.entrySet());
|
||||||
|
|
||||||
|
// Trier la liste d'entrées par ordre croissant des valeurs
|
||||||
|
Collections.sort(entryList, Comparator.comparingInt(Map.Entry::getValue));
|
||||||
|
|
||||||
|
// Extraire les clés triées dans un tableau de type String[] dans l'ordre des colonnes
|
||||||
|
String[] head = entryList.stream()
|
||||||
|
.map(Map.Entry::getKey)
|
||||||
|
.toArray(String[]::new);
|
||||||
|
|
||||||
|
table.setModel(new DefaultTableModel(data, head));
|
||||||
|
|
||||||
|
for (int columnIndex = 0; columnIndex < table.getColumnCount(); columnIndex++) {
|
||||||
|
// Obtention de la colonne à l'index donné
|
||||||
|
table.getColumnModel().getColumn(columnIndex).setPreferredWidth(getMaxColumnWidth(table, columnIndex));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ajouter un écouteur de modification de cellule à la table
|
||||||
|
table.getModel().addTableModelListener(e -> {
|
||||||
|
int row = e.getFirstRow();
|
||||||
|
int column = e.getColumn();
|
||||||
|
if (row != -1 && column != -1) {
|
||||||
|
String key = getColumnsName()[column];
|
||||||
|
String value = (String) table.getValueAt(row, column);
|
||||||
|
|
||||||
|
// Obtenir l'indice de la colonne "Individu_-_Code_Etudiant"
|
||||||
|
int columnIndex = table.getColumnModel().getColumnIndex("Individu_-_Code_Etudiant");
|
||||||
|
String numeroEtudiant = (String) table.getModel().getValueAt(row, columnIndex);
|
||||||
|
|
||||||
|
noeud nF = commandes.nBase.getChild(defautYear).getChild(cFormations.getSelectedItem().toString());
|
||||||
|
String codeStudent = "n"+numeroEtudiant;
|
||||||
|
|
||||||
|
noeud nStudent = nF.getChild(codeStudent);
|
||||||
|
|
||||||
|
boolean isOnlySpace = value.matches("\\s+");
|
||||||
|
if(!isOnlySpace) {
|
||||||
|
try {
|
||||||
|
nStudent.setAttribut(key, value.trim() );
|
||||||
|
sauvegardeXMLBase.save(commandes.nBase, saveType.SANS_MESSAGE);
|
||||||
|
}catch (Exception e1) {
|
||||||
|
JOptionPane.showMessageDialog(null, "Impossible de sauvegarder ce contenu.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
JOptionPane.showMessageDialog(null, "Le contenu ne doit pas être composé d'espace.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||||
|
table.setValueAt("", row, column);
|
||||||
|
}
|
||||||
|
|
||||||
|
majTableFormation();
|
||||||
|
majTableGroupes();
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
table.revalidate();
|
||||||
|
table.repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -607,7 +1013,7 @@ public class gestionnaire extends JFrame {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private static int getMaxColumnWidth(JTable table, int columnIndex) {
|
private static int getMaxColumnWidth(JTable table, int columnIndex) {
|
||||||
int maxWidth = 70;
|
int maxWidth = 80;
|
||||||
|
|
||||||
DefaultTableCellRenderer cellRenderer = new DefaultTableCellRenderer();
|
DefaultTableCellRenderer cellRenderer = new DefaultTableCellRenderer();
|
||||||
|
|
||||||
@ -651,5 +1057,4 @@ public class gestionnaire extends JFrame {
|
|||||||
}
|
}
|
||||||
return columnNames;
|
return columnNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,6 @@ public class lecture {
|
|||||||
|
|
||||||
|
|
||||||
noeud noeudCSV = null;
|
noeud noeudCSV = null;
|
||||||
|
|
||||||
noeud nBase = recupeBases.recupeLaBase();
|
noeud nBase = recupeBases.recupeLaBase();
|
||||||
|
|
||||||
|
|
||||||
@ -24,8 +23,6 @@ public class lecture {
|
|||||||
if(fileData!=null) {
|
if(fileData!=null) {
|
||||||
String filePath = fileData.getAbsolutePath();
|
String filePath = fileData.getAbsolutePath();
|
||||||
noeudCSV = lectureCSV.noeudCSV(filePath);
|
noeudCSV = lectureCSV.noeudCSV(filePath);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -16,9 +16,7 @@ public class lectureCSV {
|
|||||||
String line;
|
String line;
|
||||||
String csvSplitBy = ";";
|
String csvSplitBy = ";";
|
||||||
noeud donne = new noeud("data");
|
noeud donne = new noeud("data");
|
||||||
|
|
||||||
// try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path),"UTF-8"))) {
|
|
||||||
|
|
||||||
String encoding = FileEncodingDetector.EncodingFile(path);
|
String encoding = FileEncodingDetector.EncodingFile(path);
|
||||||
if(encoding!=null) {
|
if(encoding!=null) {
|
||||||
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path), encoding))) {
|
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path), encoding))) {
|
||||||
@ -43,7 +41,6 @@ public class lectureCSV {
|
|||||||
int compteur = 0 ;
|
int compteur = 0 ;
|
||||||
noeud d = new noeud("ligne_" + compteurLine);
|
noeud d = new noeud("ligne_" + compteurLine);
|
||||||
for (String value : data) {
|
for (String value : data) {
|
||||||
// value = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(value);
|
|
||||||
d.setAttribut(Head.getAttributes("C"+String.valueOf(compteur)), value);
|
d.setAttribut(Head.getAttributes("C"+String.valueOf(compteur)), value);
|
||||||
compteur++;
|
compteur++;
|
||||||
}
|
}
|
||||||
|
@ -18,8 +18,10 @@ public class majBase {
|
|||||||
if(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.")!=null) {
|
if(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.")!=null) {
|
||||||
if(!nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.").isEmpty()) {
|
if(!nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.").isEmpty()) {
|
||||||
if(!isExisteFormationIntoBase(nBase, nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib."))) {
|
if(!isExisteFormationIntoBase(nBase, nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib."))) {
|
||||||
nBase.getChild(defaut_Year).addChild(new noeud( supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib."))));
|
noeud nFormation = new noeud( supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.")));
|
||||||
}
|
nFormation.setAttribut("Affichage", "defaut");
|
||||||
|
nBase.getChild(defaut_Year).addChild(nFormation);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user