Bonjour, voila je vous explique. Je développe actuellement un chat en rmi. Dans mon client j'ai une fonction de callback comme suit :
Et voici la déclaration des variables :
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
16
17
18
19 public void notifyArriveSalon(Vector<String> users){ //ModelUser.clear(); /*for(int j=0;j<ModelUser.size();j++){ ModelUser.remove(j); }*/ //System.out.println("j'envois la liste a" + users.elementAt(0)); try{ System.out.println("j'envois la liste a" + users.elementAt(0)); }catch(ArrayIndexOutOfBoundsException ex){ System.out.println("erreur");} for(int i=0;i<users.size();i++){ try{ ModelUser.removeElement(users.elementAt(i));}catch(Exception E){} ModelUser.addElement(users.elementAt(i)); System.out.println("je passe dans la boucle" + ModelUser.elementAt(i)); } //ListeUser.setModel(ModelUser); ListeUser.repaint(); }
Donc ce que je fais ici, je reçois un vecteur de string et j'en met chaque élément dans ma defaultlistmodel. Quand j'affiche le contenu avec un system.out.println, aucun soucis, le contenu est tjs bien dedans.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DefaultListModel ModelUser = new DefaultListModel(); JList ListeUser = new JList(ModelUser);
Si je ne fais pas de clear ou de delete, bref aucune suppression d'élément, la fonction a l'air de ne pas bugger. Mais je pense qu'elle n'en a que l'air lol.
Donc lorsque cette fonction est appelé, j'obtiens parfois le bon résultat dans ma jlist, ou alors, je n'ai simplement rien, juste un gros blanc. En cas de gros blanc, je réexecute ma fonction avec les même paramètre pile poile, et ca fini par fonctionner...
Quelqu'un a une idée lol ? Car le je désespère lol
Merci d'avance.
A bientot
Partager