Java glazedlists: comment mettre à jour une ligne de table
-
21-09-2019 - |
Question
Il me manque quelque chose d'évident ici.
Je glazedlists EventList<X>
où 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?
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.