Bonsoir à tous et toutes,

Je me suis bien dirigé dans le forum et ai abouti ici, donc je vais vous parler d'un composant JList. Mon problème est le suivant; j'ai créé une JList (contenue dans une JSlitPane, mais là n'est pas le plus important) que j'ai initialisée grâce à une instance de la classe DefaultListModel que j'ai garnie de chaînes de caractère (String) pour chaque élément ajouté correspond le nom d'un étudiant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//On définit un model de liste que l'on intégrera à la JList du JSplitPane
				DefaultListModel l1= new DefaultListModel();
 
				//On garnit ce modèle avec les noms de l'arrayList d'Etudiant
	/*			Iterator n=(pol.getListeEtudiant()).iterator();
 
				while(n.hasNext())
					l1.addElement(((Etudiant)n.next()).getNom());*/
 
				for(int i=0;i<this.getPol().getListeEtudiant().size();i++){
					//l1.addElement(pol.getListeEtudiant().get(i).getNom()+" | "+pol.getListeEtudiant().get(i).getPrenom());
					l1.addElement(pol.getListeEtudiant().get(i).getNom());
				}
				//On crée les 2 composants du JSplitPane
				JList jsp1=new JList(l1); //on intègre le modele à la JList
(nb : je suis parvenu également à afficher le prénom, mais pour retrouver l'étudiant à surpprimer dans la liste je ne vois pas comment décomposer le retour de getSelecterValue() pour avoir: le nom et le prénom séparément et faire une recherche comme cela...)
Comme vous pouvez le voir j'avais déjà testé certaines méthodes ^^
En résultat, j'ai une JSlitPane contenant une JList qui est garnie des noms d'étudiant. Je voulais créer un JButton qui me permette de supprimer un objet de la liste d'étudiant à partir donc de son nom sélectionné dans la JList, j'ai donc employé la méthode getSelectedValue() :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//TEST : on récupère le nom de l'étudiant selectionné:
							//Object recup=((JList)ListeEtudiant.this.jspEtudiants.getLeftComponent()).getSelectedValue();
							//System.out.println(recup.getClass()); -> Renvoi une chaîne de caractère.
 
							Object recup=((JList)FenetreListeEtudiant.this.jspEtudiants.getLeftComponent()).getSelectedValue();
							//Etudiant selection=ListeEtudiant.this.getPol().getEtudiantFromList((String)recup);
							//System.out.println(selection.toString());
 
							//System.out.println(recup); //Affiche bien le nom sélectionné
							Etudiant selection=FenetreListeEtudiant.this.getPol().getEtudiantFromList((String)recup);
 
							FenetreListeEtudiant.this.pol.supprimerEtudiant(selection);
							FenetreListeEtudiant maj=new FenetreListeEtudiant(FenetreListeEtudiant.this.getPol());
							maj.setVisible(true);
							FenetreListeEtudiant.this.hide();
Mais le problème est que lorsque, dans ma JList, je sélectionne le deuxième élément, il ne supprime rien. Peut-être que cela provient de la msie à jour de la fenêtre. Je m'y prend peut-être mal en réinstanciant une fenêtre avec l'objet "pol" qui a été modifié. (pol contenant l'ArrayList<Etudiant>)

Merci d'avance pour vos conseils.