/** procedure qui charge les differents objet arraylist pour le modification */ private void chargerList() { // chargement des stages J et J+1 stageList = PasserelleStage.lectureStageObj(); // initialisation de dateList dateList = new ArrayList<String>(); for (Stage leStage : stageList) { if (!dateList.contains(leStage.getDateStr())) { dateList.add(leStage.getDateStr()); } // finsi } // finpour } // fin chargerList()
/** * procedure de l'interface ActionListener<br> * execute les modifications par rapport au bouton selectionné */ public void actionPerformed(ActionEvent e) { // récupération de la source JComponent source = (JComponent) e.getSource(); if (source.equals(dateBox)) { stageBox.removeAllItems(); date = (String) dateBox.getSelectedItem(); ArrayList<Stage> vueStagelist = new ArrayList<Stage>(); for (Stage leStage : stageList) { if (leStage.getDateStr().equals(date)) { vueStagelist.add(leStage); } } // finpour // tri des stages par ordre alphabetique Stage stgTemps; boolean good = false; // tant que le tri n'est pas bon while (!good) { good = true; for (int i = 0; i < vueStagelist.size() - 1; i++) { if (vueStagelist.get(i).getCode().compareToIgnoreCase(vueStagelist.get(i + 1).getCode()) > 0) { good = false; // echange stgTemps = vueStagelist.get(i); vueStagelist.set(i, vueStagelist.get(i + 1)); vueStagelist.set(i + 1, stgTemps); } // finsi } // finpour } // fin tant que for (Stage leStage : vueStagelist) { stageBox.addItem(leStage.getCode()); } // finpour } // finsi // si le bouton est le bouton du choix de la date if (source.equals(vueBtn)) { ArrayList<Stage> vueStagelist = new ArrayList<Stage>(); for (Stage leStage : stageList) { if (leStage.getDateStr().equals(date)) { vueStagelist.add(leStage); } } // finpour if (!vueStagelist.isEmpty()) { new FenetreStage(vueStagelist); } } // finsi // si le bouton est le bouton du choix du stage if (source.equals(stageBox)) { code = (String) stageBox.getSelectedItem(); for (Stage leStage : stageList) { if (leStage.getDateStr().equals(date) && leStage.getCode().equals(code)) { afficherInfoStage(leStage); break; } } // fin pour } // finsi // si le bouton est le bouton d'enregistrement if (source.equals(modifBtn)) { // fenetre de dialogue int rep = JOptionPane.showConfirmDialog( null, "<html>enregistrer les modifications sur ce stage ?<br>" + "les modifications seront definitives !</html>", "modification", JOptionPane.YES_NO_OPTION); // si la reponse est "oui" if (rep == JOptionPane.YES_OPTION) { for (Stage leStage : stageList) { if (leStage.getDateStr().equals(date) && leStage.getCode().equals(code)) { leStage.setCode(nomField.getText()); leStage.setLibelle(libField.getText()); leStage.getFirstModule().setSalle(salleField.getText()); leStage.setLeader(leaderField.getText()); break; } // finsi } // finpour PasserelleStage.ecritureStageObj(stageList); // ecriture des stages avec les modifs JOptionPane.showMessageDialog( null, "<html>Enregistrement réussi !</html>", "Enregistrement", JOptionPane.INFORMATION_MESSAGE); } // finsi } // finsi // si le bouton est le bouton de l'affichage des stagiaires if (source.equals(stagiaireBtn)) { for (Stage leStage : stageList) { if (leStage.getDateStr().equals(date) && leStage.getCode().equals(code)) { afficherInfoStage(leStage); new FenetreStagiaire(leStage); // affichage de la fenetre break; } // finsi } // finpour } // finsi // si le bouton est le bouton de la suppression de stage if (source.equals(removeBtn)) { // fenetre de dialogue int rep = JOptionPane.showConfirmDialog( null, "<html>Supprimer le stage " + code + " du " + date + " ?<br>" + "les modifications seront definitives !</html>", "modification", JOptionPane.YES_NO_OPTION); // si la reponse est "oui" if (rep == JOptionPane.YES_OPTION) { for (Stage leStage : stageList) { if (leStage.getDateStr().equals(date) && leStage.getCode().equals(code)) { stageBox.removeItem(leStage.getCode()); stageList.remove(leStage); PasserelleStage.ecritureStageObj(stageList); // ecriture des stages avec les modifs JOptionPane.showMessageDialog( null, "<html>Suppresion réussi !</html>", "Suppression", JOptionPane.INFORMATION_MESSAGE); break; } } // finpour code = (String) stageBox.getItemAt(0); for (Stage leStage : stageList) { if (leStage.getDateStr().equals(date) && leStage.getCode().equals(code)) { afficherInfoStage(leStage); // affichage des infos du premier stage de la liste break; } } // finpour } // finsi } // finsi } // fin actionPerformed()