Question

Il me manque quelque chose d'évident ici.

Je glazedlists EventList<X>X est ma classe personnalisée. Cette liste contient un tas de valeurs. Lorsque je mets à jour l'une des valeurs, comment puis-je me assure l'interface graphique met à jour son affichage pour cette ligne?

Était-ce utile?

La solution 3

La façon de faire semble être de remplacer l'élément de la liste avec lui-même:

 EventList<X> list = /* get reference to a list */
 X x = list.get(3);
 /* update x here */
 list.set(3,x);

Autres conseils

Il semble que vous pouvez invoquer addListEventListener pour enregistrer un ListEventListener . Voir aussi les vitrés listes Tutorial.

Le FAQ mentiones deux façons sous la question:

  

Comment puis-je dire des listes vitrés qu'un objet dans mon EventList a été mis à jour?

Soit vous utilisez l'approche / setter comme l'a souligné Jason, ou vous faites les éléments dans la liste observable par exemple le PropertyChangeListener puis utilisez le ObservableElementList. Je pense que cette seconde approche est plus propre et il devrait également fonctionner avec des threads concurrents.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top