diff --git a/src/baseUFRHG/Window_gestionnaire.java b/src/baseUFRHG/Window_gestionnaire.java index ce3b70f..93d3f85 100644 --- a/src/baseUFRHG/Window_gestionnaire.java +++ b/src/baseUFRHG/Window_gestionnaire.java @@ -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(); - cYears.setLocation(10, 25); - cYears.setSize(168, 32); - cFormations = new JComboBox(); - cFormations.setSize(289, 32); - cFormations.setLocation(10, 77); - cGroupeTD = new JComboBox(); - 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(); - 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(); - 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(); - 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(); - 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(); - 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(); - 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(); - 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(); - 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(); - cRegime.setBounds(1032, 77, 168, 32); - panelFiltre.add(cRegime); + cYears = new JComboBox(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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(); + 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); diff --git a/src/baseUFRHG/importInscriptionXLS.java b/src/baseUFRHG/importInscriptionXLS.java index abf8856..cce40b9 100644 --- a/src/baseUFRHG/importInscriptionXLS.java +++ b/src/baseUFRHG/importInscriptionXLS.java @@ -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 } diff --git a/src/resources/accueil.png b/src/resources/accueil.png index 6868831..892a146 100644 Binary files a/src/resources/accueil.png and b/src/resources/accueil.png differ