Amélioration affichage.

Le panel filtre fait apparaître les scrollbars (horizontal & vertical)
lorsque la fenêtre est redimensionnée.
This commit is contained in:
pablo rodriguez 2023-07-04 13:08:51 +02:00
parent d399e03314
commit 305e5748e2
3 changed files with 499 additions and 382 deletions

View File

@ -4,6 +4,9 @@ import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
@ -117,9 +120,12 @@ public class Window_gestionnaire extends JFrame {
private void initialize() {
defautYear = commandes.nBase.getAttributes("defaut_Year");
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setBounds(100, 100, 1800, 651);
frame.setBounds(100, 100, 1920, 1080);
frame.setTitle("Gestionnaire Base des inscriptions des étudiants");
frame.setLocationRelativeTo(null); // Centre la fenêtre à l'écran
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
@ -131,16 +137,6 @@ public class Window_gestionnaire extends JFrame {
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
frame.setContentPane(contentPane);
cYears = new JComboBox<String>();
cYears.setLocation(10, 25);
cYears.setSize(168, 32);
cFormations = new JComboBox<String>();
cFormations.setSize(289, 32);
cFormations.setLocation(10, 77);
cGroupeTD = new JComboBox<String>();
cGroupeTD.setBounds(309, 25, 180, 32);
cGroupeTD.setVisible(true);
table = new JTable();
table.setFont(new Font("Arial", Font.PLAIN, 16));
@ -148,294 +144,93 @@ public class Window_gestionnaire extends JFrame {
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.setRowHeight(20);
for(noeud nChild : commandes.nBase.getChildren()) {
cYears.addItem(nChild.getName());
for(noeud nFormation : nChild.getChildren()) {
cFormations.addItem(nFormation.getName());
}
}
defautYear = commandes.nBase.getAttributes("defaut_Year");
cYears.setSelectedItem(defautYear);
cFormations.setSelectedIndex(0);
cYears.setVisible(true);
cFormations.setVisible(true);
table.setBounds(38, 136, 496, 199);
// Désactiver l'ajustement automatique des colonnes
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
contentPane.setLayout(new BorderLayout(0, 0));
JScrollPane scrollPane_1 = new JScrollPane();
scrollPane_1.setViewportBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null));
JScrollPane scrollPaneTable = new JScrollPane();
scrollPaneTable.setViewportBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null));
contentPane.add(scrollPane_1, BorderLayout.CENTER);
scrollPane_1.setViewportView(table);
contentPane.add(scrollPaneTable, BorderLayout.CENTER);
scrollPaneTable.setViewportView(table);
JPanel panelFiltre = new JPanel();
// contentPane.add(panelFiltre, BorderLayout.CENTER);
panelFiltre.setLayout(null);
panelFiltre.setPreferredSize(new Dimension(400, 120));
panelFiltre.setPreferredSize(new Dimension(1900, 120));
panelFiltre.setBackground(Color.gray);
panelFiltre.add(cYears);
panelFiltre.add(cFormations);
GridBagLayout gbl_panelFiltre = new GridBagLayout();
gbl_panelFiltre.columnWidths = new int[]{168, 113, 180, 169, 168, 168, 168, 190, 0};
gbl_panelFiltre.rowHeights = new int[]{14, 32, 15, 32, 0};
gbl_panelFiltre.columnWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
gbl_panelFiltre.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
panelFiltre.setLayout(gbl_panelFiltre);
JLabel lblYears = new JLabel("Année");
lblYears.setFont(new Font("Tahoma", Font.BOLD, 12));
lblYears.setHorizontalAlignment(SwingConstants.LEFT);
lblYears.setBounds(10, 11, 72, 14);
panelFiltre.add(lblYears);
JLabel lblFormation = new JLabel("Formation");
lblFormation.setFont(new Font("Tahoma", Font.BOLD, 12));
lblFormation.setHorizontalAlignment(SwingConstants.LEFT);
lblFormation.setBounds(10, 60, 101, 14);
panelFiltre.add(lblFormation);
GridBagConstraints gbc_lblYears = new GridBagConstraints();
gbc_lblYears.anchor = GridBagConstraints.WEST;
gbc_lblYears.insets = new Insets(0, 0, 5, 5);
gbc_lblYears.gridx = 0;
gbc_lblYears.gridy = 0;
panelFiltre.add(lblYears, gbc_lblYears);
JLabel lblGroupeTD = new JLabel("Groupe TD");
lblGroupeTD.setFont(new Font("Tahoma", Font.BOLD, 12));
lblGroupeTD.setBounds(313, 11, 121, 14);
panelFiltre.add(lblGroupeTD);
panelFiltre.add(cGroupeTD);
JPanel panelNorth = new JPanel();
contentPane.add(panelNorth, BorderLayout.NORTH);
panelNorth.setLayout(new BorderLayout(0, 0));
JMenuBar menuBar = new JMenuBar();
JMenu menuFile = new JMenu("Fichier");
menuFile.setFont(new Font("Tahoma", Font.BOLD, 14));
JMenuItem saveBaseItem = menuFile.add(new saveTable(this));
menuFile.add(saveBaseItem);
menuFile.addSeparator();
JMenuItem exitItem = new JMenuItem("Quitter");
exitItem.setIcon(new ImageIcon(Window_gestionnaire.class.getResource("/resources/exit.png")));
exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_DOWN_MASK));
exitItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
quit();
}
});
menuFile.add(exitItem);
menuBar.add(menuFile);
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);
// chckRegime.setSelected(true);
// }
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.addSeparator();
menuAffichage.add(chckGroupePrincipal);
chckGroupePrincipal.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckGroupeTD);
chckGroupeTD.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckGroupeLangue);
chckGroupeLangue.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckGroupeInformatique);
chckGroupeInformatique.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckGroupeDocumentation);
chckGroupeDocumentation.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckGroupeProjet);
chckGroupeProjet.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckLV1);
chckLV1.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckLV2);
chckLV2.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckRegime);
chckRegime.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckStage1);
chckStage1.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckStage2);
chckStage2.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
JMenu menuExport = new JMenu("Exportation");
menuExport.setFont(new Font("Tahoma", Font.BOLD, 14));
JMenuItem exportItem = menuExport.add(new exportTable(this));
menuExport.add(exportItem);
menuExport.addSeparator();
JMenuItem emargement = menuExport.add(new exportEmargement(this));
menuExport.add(emargement);
menuBar.add(menuExport);
JMenu mnNewMenu = new JMenu("Base");
mnNewMenu.setFont(new Font("Tahoma", Font.BOLD, 14));
menuBar.add(mnNewMenu);
JMenuItem menueSauvegardeBase = new JMenuItem("Créer une sauvegarde de la base");
mnNewMenu.add(menueSauvegardeBase);
menueSauvegardeBase.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
File f = FileChooserXML.retourneFileXML();
if(f!=null) {
sauvegardeXMLBase.saveSauvegarde(commandes.nBase, f.getAbsolutePath());
}
}
});
mnNewMenu.addSeparator();
JMenuItem menuSelectYearDefautl = new JMenuItem("Sélectionner une année universitaire par défaut");
mnNewMenu.add(menuSelectYearDefautl);
JMenuItem menuCreateYearDefault = new JMenuItem("Créer une année universitaire");
mnNewMenu.add(menuCreateYearDefault);
panelNorth.add(panelFiltre);
cLV1= new JComboBox<String>();
cLV1.setBounds(854, 77, 168, 32);
panelFiltre.add(cLV1);
JLabel lblNewLabel_1 = new JLabel("LV1");
lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 12));
lblNewLabel_1.setBounds(854, 60, 84, 14);
panelFiltre.add(lblNewLabel_1);
cInformatique = new JComboBox<String>();
cInformatique.setBounds(309, 77, 180, 32);
panelFiltre.add(cInformatique);
JLabel lblGroupeInformatique = new JLabel("Groupe Informatique");
lblGroupeInformatique.setFont(new Font("Tahoma", Font.BOLD, 12));
lblGroupeInformatique.setBounds(313, 60, 146, 14);
panelFiltre.add(lblGroupeInformatique);
cLV2 = new JComboBox<String>();
cLV2.setBounds(854, 25, 168, 32);
panelFiltre.add(cLV2);
JLabel lblNewLabel_3 = new JLabel("LV2");
lblNewLabel_3.setFont(new Font("Tahoma", Font.BOLD, 12));
lblNewLabel_3.setBounds(854, 11, 46, 14);
panelFiltre.add(lblNewLabel_3);
cLangue= new JComboBox<String>();
cLangue.setBounds(499, 25, 168, 32);
panelFiltre.add(cLangue);
GridBagConstraints gbc_lblGroupeTD = new GridBagConstraints();
gbc_lblGroupeTD.insets = new Insets(0, 0, 5, 5);
gbc_lblGroupeTD.gridx = 2;
gbc_lblGroupeTD.gridy = 0;
panelFiltre.add(lblGroupeTD, gbc_lblGroupeTD);
JLabel lblGroupeLangue = new JLabel("Groupe Langue");
lblGroupeLangue.setFont(new Font("Tahoma", Font.BOLD, 12));
lblGroupeLangue.setBounds(499, 11, 121, 14);
panelFiltre.add(lblGroupeLangue);
cProfil = new JComboBox<String>();
cProfil.setBounds(1032, 25, 168, 32);
panelFiltre.add(cProfil);
JLabel lblProfil = new JLabel("Profil étudiant");
lblProfil.setFont(new Font("Tahoma", Font.BOLD, 12));
lblProfil.setBounds(1032, 11, 127, 14);
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);
GridBagConstraints gbc_lblGroupeLangue = new GridBagConstraints();
gbc_lblGroupeLangue.anchor = GridBagConstraints.WEST;
gbc_lblGroupeLangue.insets = new Insets(0, 0, 5, 5);
gbc_lblGroupeLangue.gridx = 3;
gbc_lblGroupeLangue.gridy = 0;
panelFiltre.add(lblGroupeLangue, gbc_lblGroupeLangue);
JLabel lblGroupePrincipal = new JLabel("Groupe Principal");
lblGroupePrincipal.setFont(new Font("Tahoma", Font.BOLD, 12));
lblGroupePrincipal.setBounds(677, 11, 160, 14);
panelFiltre.add(lblGroupePrincipal);
GridBagConstraints gbc_lblGroupePrincipal = new GridBagConstraints();
gbc_lblGroupePrincipal.fill = GridBagConstraints.HORIZONTAL;
gbc_lblGroupePrincipal.insets = new Insets(0, 0, 5, 5);
gbc_lblGroupePrincipal.gridx = 4;
gbc_lblGroupePrincipal.gridy = 0;
panelFiltre.add(lblGroupePrincipal, gbc_lblGroupePrincipal);
JButton btnNewButton = new JButton("Réïnitialise");
btnNewButton.addActionListener(new ActionListener() {
JLabel lblLV2 = new JLabel("LV2");
lblLV2.setFont(new Font("Tahoma", Font.BOLD, 12));
GridBagConstraints gbc_lblLV2 = new GridBagConstraints();
gbc_lblLV2.anchor = GridBagConstraints.WEST;
gbc_lblLV2.insets = new Insets(0, 0, 5, 5);
gbc_lblLV2.gridx = 5;
gbc_lblLV2.gridy = 0;
panelFiltre.add(lblLV2, gbc_lblLV2);
JLabel lblProfil = new JLabel("Profil étudiant");
lblProfil.setFont(new Font("Tahoma", Font.BOLD, 12));
GridBagConstraints gbc_lblProfil = new GridBagConstraints();
gbc_lblProfil.anchor = GridBagConstraints.WEST;
gbc_lblProfil.insets = new Insets(0, 0, 5, 5);
gbc_lblProfil.gridx = 6;
gbc_lblProfil.gridy = 0;
panelFiltre.add(lblProfil, gbc_lblProfil);
JLabel lblNonEtudiant = new JLabel("Nom de l'étudiant");
lblNonEtudiant.setFont(new Font("Tahoma", Font.BOLD, 12));
GridBagConstraints gbc_lblNonEtudiant = new GridBagConstraints();
gbc_lblNonEtudiant.fill = GridBagConstraints.HORIZONTAL;
gbc_lblNonEtudiant.insets = new Insets(0, 0, 5, 0);
gbc_lblNonEtudiant.gridx = 7;
gbc_lblNonEtudiant.gridy = 0;
panelFiltre.add(lblNonEtudiant, gbc_lblNonEtudiant);
JButton btnReinit = new JButton("Réïnitialise");
btnReinit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cDocumentation.setSelectedIndex(0);
cInformatique.setSelectedIndex(0);
@ -450,37 +245,114 @@ public class Window_gestionnaire extends JFrame {
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);
cRegime = new JComboBox<String>();
cRegime.setBounds(1032, 77, 168, 32);
panelFiltre.add(cRegime);
cYears = new JComboBox<String>();
cYears.setSelectedItem(defautYear);
JLabel lblRegime = new JLabel("Régime");
lblRegime.setFont(new Font("Tahoma", Font.BOLD, 12));
lblRegime.setBounds(1032, 60, 101, 14);
panelFiltre.add(lblRegime);
cYears.setVisible(true);
GridBagConstraints gbc_cYears = new GridBagConstraints();
gbc_cYears.fill = GridBagConstraints.BOTH;
gbc_cYears.insets = new Insets(0, 0, 5, 5);
gbc_cYears.gridx = 0;
gbc_cYears.gridy = 1;
panelFiltre.add(cYears, gbc_cYears);
btnReinit.setFont(new Font("Tahoma", Font.BOLD, 11));
GridBagConstraints gbc_btnReinit = new GridBagConstraints();
gbc_btnReinit.fill = GridBagConstraints.BOTH;
gbc_btnReinit.insets = new Insets(0, 0, 5, 5);
gbc_btnReinit.gridx = 1;
gbc_btnReinit.gridy = 1;
panelFiltre.add(btnReinit, gbc_btnReinit);
cGroupeTD = new JComboBox<String>();
cGroupeTD.setVisible(true);
GridBagConstraints gbc_cGroupeTD = new GridBagConstraints();
gbc_cGroupeTD.fill = GridBagConstraints.BOTH;
gbc_cGroupeTD.insets = new Insets(0, 0, 5, 5);
gbc_cGroupeTD.gridx = 2;
gbc_cGroupeTD.gridy = 1;
panelFiltre.add(cGroupeTD, gbc_cGroupeTD);
// Ajout d'un ActionListener à la JComboBox
cGroupeTD.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cLangue= new JComboBox<String>();
GridBagConstraints gbc_cLangue = new GridBagConstraints();
gbc_cLangue.fill = GridBagConstraints.BOTH;
gbc_cLangue.insets = new Insets(0, 0, 5, 5);
gbc_cLangue.gridx = 3;
gbc_cLangue.gridy = 1;
panelFiltre.add(cLangue, gbc_cLangue);
cLangue.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cGroupePrincipal = new JComboBox<String>();
GridBagConstraints gbc_cGroupePrincipal = new GridBagConstraints();
gbc_cGroupePrincipal.fill = GridBagConstraints.BOTH;
gbc_cGroupePrincipal.insets = new Insets(0, 0, 5, 5);
gbc_cGroupePrincipal.gridx = 4;
gbc_cGroupePrincipal.gridy = 1;
panelFiltre.add(cGroupePrincipal, gbc_cGroupePrincipal);
cGroupePrincipal.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cLV2 = new JComboBox<String>();
GridBagConstraints gbc_cLV2 = new GridBagConstraints();
gbc_cLV2.fill = GridBagConstraints.BOTH;
gbc_cLV2.insets = new Insets(0, 0, 5, 5);
gbc_cLV2.gridx = 5;
gbc_cLV2.gridy = 1;
panelFiltre.add(cLV2, gbc_cLV2);
cLV2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cProfil = new JComboBox<String>();
GridBagConstraints gbc_cProfil = new GridBagConstraints();
gbc_cProfil.fill = GridBagConstraints.BOTH;
gbc_cProfil.insets = new Insets(0, 0, 5, 5);
gbc_cProfil.gridx = 6;
gbc_cProfil.gridy = 1;
panelFiltre.add(cProfil, gbc_cProfil);
cProfil.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
textPaneNom.setFont(new Font("Tahoma", Font.BOLD, 12));
textPaneNom.setBounds(1216, 25, 190, 32);
panelFiltre.add(textPaneNom);
JLabel lblNewLabel = new JLabel("Nom de l'étudiant");
lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 12));
lblNewLabel.setBounds(1216, 11, 160, 14);
panelFiltre.add(lblNewLabel);
GridBagConstraints gbc_textPaneNom = new GridBagConstraints();
gbc_textPaneNom.fill = GridBagConstraints.BOTH;
gbc_textPaneNom.insets = new Insets(0, 0, 5, 0);
gbc_textPaneNom.gridx = 7;
gbc_textPaneNom.gridy = 1;
panelFiltre.add(textPaneNom, gbc_textPaneNom);
textPaneNom.getDocument().addDocumentListener(new DocumentListener() {
@Override
@ -502,6 +374,328 @@ public class Window_gestionnaire extends JFrame {
});
JLabel lblFormation = new JLabel("Formation");
lblFormation.setFont(new Font("Tahoma", Font.BOLD, 12));
lblFormation.setHorizontalAlignment(SwingConstants.LEFT);
GridBagConstraints gbc_lblFormation = new GridBagConstraints();
gbc_lblFormation.anchor = GridBagConstraints.WEST;
gbc_lblFormation.insets = new Insets(0, 0, 5, 5);
gbc_lblFormation.gridx = 0;
gbc_lblFormation.gridy = 2;
panelFiltre.add(lblFormation, gbc_lblFormation);
JLabel lblGroupeInformatique = new JLabel("Groupe Informatique");
lblGroupeInformatique.setFont(new Font("Tahoma", Font.BOLD, 12));
GridBagConstraints gbc_lblGroupeInformatique = new GridBagConstraints();
gbc_lblGroupeInformatique.anchor = GridBagConstraints.WEST;
gbc_lblGroupeInformatique.insets = new Insets(0, 0, 5, 5);
gbc_lblGroupeInformatique.gridx = 2;
gbc_lblGroupeInformatique.gridy = 2;
panelFiltre.add(lblGroupeInformatique, gbc_lblGroupeInformatique);
JLabel lblGroupeDocumentation = new JLabel("Groupe Documentation");
lblGroupeDocumentation.setFont(new Font("Tahoma", Font.BOLD, 12));
GridBagConstraints gbc_lblGroupeDocumentation = new GridBagConstraints();
gbc_lblGroupeDocumentation.fill = GridBagConstraints.HORIZONTAL;
gbc_lblGroupeDocumentation.insets = new Insets(0, 0, 5, 5);
gbc_lblGroupeDocumentation.gridx = 3;
gbc_lblGroupeDocumentation.gridy = 2;
panelFiltre.add(lblGroupeDocumentation, gbc_lblGroupeDocumentation);
JLabel lblGroupeProjet = new JLabel("Groupe Projet");
lblGroupeProjet.setFont(new Font("Tahoma", Font.BOLD, 12));
GridBagConstraints gbc_lblGroupeProjet = new GridBagConstraints();
gbc_lblGroupeProjet.anchor = GridBagConstraints.NORTH;
gbc_lblGroupeProjet.fill = GridBagConstraints.HORIZONTAL;
gbc_lblGroupeProjet.insets = new Insets(0, 0, 5, 5);
gbc_lblGroupeProjet.gridx = 4;
gbc_lblGroupeProjet.gridy = 2;
panelFiltre.add(lblGroupeProjet, gbc_lblGroupeProjet);
JLabel lblLV1 = new JLabel("LV1");
lblLV1.setFont(new Font("Tahoma", Font.BOLD, 12));
GridBagConstraints gbc_lblLV1 = new GridBagConstraints();
gbc_lblLV1.anchor = GridBagConstraints.WEST;
gbc_lblLV1.insets = new Insets(0, 0, 5, 5);
gbc_lblLV1.gridx = 5;
gbc_lblLV1.gridy = 2;
panelFiltre.add(lblLV1, gbc_lblLV1);
JLabel lblRegime = new JLabel("Régime");
lblRegime.setFont(new Font("Tahoma", Font.BOLD, 12));
GridBagConstraints gbc_lblRegime = new GridBagConstraints();
gbc_lblRegime.anchor = GridBagConstraints.WEST;
gbc_lblRegime.insets = new Insets(0, 0, 5, 5);
gbc_lblRegime.gridx = 6;
gbc_lblRegime.gridy = 2;
panelFiltre.add(lblRegime, gbc_lblRegime);
cFormations = new JComboBox<String>();
for(noeud nChild : commandes.nBase.getChildren()) {
cYears.addItem(nChild.getName());
for(noeud nFormation : nChild.getChildren()) {
cFormations.addItem(nFormation.getName());
}
}
cFormations.setSelectedIndex(0);
cFormations.setVisible(true);
// Ajout d'un ActionListener à la JComboBox
cFormations.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableFormation();
}
});
GridBagConstraints gbc_cFormations = new GridBagConstraints();
gbc_cFormations.gridwidth = 2;
gbc_cFormations.fill = GridBagConstraints.BOTH;
gbc_cFormations.insets = new Insets(0, 0, 0, 5);
gbc_cFormations.gridx = 0;
gbc_cFormations.gridy = 3;
panelFiltre.add(cFormations, gbc_cFormations);
cInformatique = new JComboBox<String>();
GridBagConstraints gbc_cInformatique = new GridBagConstraints();
gbc_cInformatique.fill = GridBagConstraints.BOTH;
gbc_cInformatique.insets = new Insets(0, 0, 0, 5);
gbc_cInformatique.gridx = 2;
gbc_cInformatique.gridy = 3;
panelFiltre.add(cInformatique, gbc_cInformatique);
cInformatique.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cDocumentation = new JComboBox<String>();
GridBagConstraints gbc_cDocumentation = new GridBagConstraints();
gbc_cDocumentation.fill = GridBagConstraints.BOTH;
gbc_cDocumentation.insets = new Insets(0, 0, 0, 5);
gbc_cDocumentation.gridx = 3;
gbc_cDocumentation.gridy = 3;
panelFiltre.add(cDocumentation, gbc_cDocumentation);
cDocumentation.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cGroupeProjet = new JComboBox<String>();
GridBagConstraints gbc_cGroupeProjet = new GridBagConstraints();
gbc_cGroupeProjet.fill = GridBagConstraints.BOTH;
gbc_cGroupeProjet.insets = new Insets(0, 0, 0, 5);
gbc_cGroupeProjet.gridx = 4;
gbc_cGroupeProjet.gridy = 3;
panelFiltre.add(cGroupeProjet, gbc_cGroupeProjet);
cGroupeProjet.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cLV1= new JComboBox<String>();
GridBagConstraints gbc_cLV1 = new GridBagConstraints();
gbc_cLV1.fill = GridBagConstraints.BOTH;
gbc_cLV1.insets = new Insets(0, 0, 0, 5);
gbc_cLV1.gridx = 5;
gbc_cLV1.gridy = 3;
panelFiltre.add(cLV1, gbc_cLV1);
cLV1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cRegime = new JComboBox<String>();
GridBagConstraints gbc_cRegime = new GridBagConstraints();
gbc_cRegime.fill = GridBagConstraints.BOTH;
gbc_cRegime.insets = new Insets(0, 0, 0, 5);
gbc_cRegime.gridx = 6;
gbc_cRegime.gridy = 3;
panelFiltre.add(cRegime, gbc_cRegime);
cRegime.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
JPanel panelNorth = new JPanel();
contentPane.add(panelNorth, BorderLayout.NORTH);
panelNorth.setLayout(new BorderLayout(0, 0));
JMenuBar menuBar = new JMenuBar();
JMenu menuFile = new JMenu("Fichier");
menuFile.setFont(new Font("Tahoma", Font.BOLD, 14));
JMenuItem saveBaseItem = menuFile.add(new saveTable(this));
menuFile.add(saveBaseItem);
menuFile.addSeparator();
JMenuItem exitItem = new JMenuItem("Quitter");
exitItem.setIcon(new ImageIcon(Window_gestionnaire.class.getResource("/resources/exit.png")));
exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_DOWN_MASK));
exitItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
quit();
}
});
menuFile.add(exitItem);
menuBar.add(menuFile);
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.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.addSeparator();
menuAffichage.add(chckGroupePrincipal);
chckGroupePrincipal.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckGroupeTD);
chckGroupeTD.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckGroupeLangue);
chckGroupeLangue.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckGroupeInformatique);
chckGroupeInformatique.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckGroupeDocumentation);
chckGroupeDocumentation.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckGroupeProjet);
chckGroupeProjet.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckLV1);
chckLV1.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckLV2);
chckLV2.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckRegime);
chckRegime.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckStage1);
chckStage1.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
menuAffichage.add(chckStage2);
chckStage2.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(!ignoreItemStateChange) majAffichageDesChck();
}
});
JMenu menuExport = new JMenu("Exportation");
menuExport.setFont(new Font("Tahoma", Font.BOLD, 14));
JMenuItem exportItem = menuExport.add(new exportTable(this));
menuExport.add(exportItem);
menuExport.addSeparator();
JMenuItem emargement = menuExport.add(new exportEmargement(this));
menuExport.add(emargement);
menuBar.add(menuExport);
JMenu mnNewMenu = new JMenu("Base");
mnNewMenu.setFont(new Font("Tahoma", Font.BOLD, 14));
menuBar.add(mnNewMenu);
JMenuItem menueSauvegardeBase = new JMenuItem("Créer une sauvegarde de la base");
mnNewMenu.add(menueSauvegardeBase);
menueSauvegardeBase.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
File f = FileChooserXML.retourneFileXML();
if(f!=null) {
sauvegardeXMLBase.saveSauvegarde(commandes.nBase, f.getAbsolutePath());
}
}
});
mnNewMenu.addSeparator();
JMenuItem menuSelectYearDefautl = new JMenuItem("Sélectionner une année universitaire par défaut");
mnNewMenu.add(menuSelectYearDefautl);
JMenuItem menuCreateYearDefault = new JMenuItem("Créer une année universitaire");
mnNewMenu.add(menuCreateYearDefault);
JScrollPane scrollPaneFiltre = new JScrollPane(panelFiltre);
panelNorth.add(scrollPaneFiltre, BorderLayout.CENTER);
scrollPaneFiltre.add(panelFiltre);
scrollPaneFiltre.setViewportView(panelFiltre);
JPanel panelSouth = new JPanel();
panelSouth.setPreferredSize(new Dimension(400, 90));
panelSouth.setBackground(Color.gray);
@ -517,86 +711,6 @@ public class Window_gestionnaire extends JFrame {
panelSouth.add(lblInformationStudent);
// Ajout d'un ActionListener à la JComboBox
cFormations.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableFormation();
}
});
// Ajout d'un ActionListener à la JComboBox
cGroupeTD.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cLV1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cLV2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cLangue.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cInformatique.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
cProfil.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
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();
}
});
cRegime.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
majTableGroupes();
}
});
// Ajout d'un ListSelectionListener pour détecter la sélection de la ligne et de la colonne
ListSelectionModel selectionModel = table.getSelectionModel();
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
@ -652,6 +766,9 @@ public class Window_gestionnaire extends JFrame {
}
});
majTableFormation();
majTableGroupes();
frame.setVisible(true);

View File

@ -138,7 +138,7 @@ public class importInscriptionXLS {
if(nStudent.getAttributes("Atelier_pre-rentree_enseignant")==null) nStudent.setAttribut("Atelier_pre-rentree_enseignant","");
if(nStudent.getAttributes("Atelier_pre-rentree_salle")==null) nStudent.setAttribut("Atelier_pre-rentree_salle","");
if(nStudent.getAttributes("Regime")==null) nStudent.setAttribut("Regime","");
System.out.println( nStudent.toWrite()); // Nouvelle ligne après chaque ligne du tableau
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 78 KiB