Bonjour,

vu le très peu de documentation poussée sur le sujet, je pose ma question ici.

J'ai deux entités, disons Personne et Benevolat

J'affiche dans une JTable la liste des Personnes et dans une deuxième JTable la liste des Benevolat effectués par cette personne.

Donc en gros j'ai une entité Personne qui contient une liste de Benevolat

J'ai actuellement un ObservableList qui contient la liste de mes personnes, qui permet de mettre à jour mon UI si une personne a été modifiée ou ajoutée dans mon modèle et qui permet de mettre à jour le Model lorsqu'une ligne de ma JTable a été sélectionné. Jusque là rien de compliqué.


Code java : 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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
 * 
 */
package standardNaast.model;
 
import java.beans.PropertyChangeSupport;
import java.util.Collections;
 
import org.jdesktop.observablecollections.ObservableCollections;
import org.jdesktop.observablecollections.ObservableList;
import org.springframework.util.CollectionUtils;
 
import standardNaast.entities.Personne;
import standardNaast.service.PersonneService;
import standardNaast.service.PersonneServiceImpl;
 
/**
 * @author stessy
 * 
 */
public class PersonnesModel {
 
	private ObservableList<Personne> personnesList;
 
	private Personne personne;
 
	private PersonneService personneService;
 
	private final PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
 
 
	public ObservableList<Personne> getPersonnesList() {
		if (CollectionUtils.isEmpty(this.personnesList)) {
			if (this.personneService == null) {
				this.personneService = new PersonneServiceImpl();
			}
			this.personnesList = ObservableCollections.observableList(this.personneService.findAllPerson());
		}
		Collections.sort(this.personnesList);
		return this.personnesList;
	}
 
 
	public Personne getSelectedPersonne() {
		return this.personne;
	}
 
 
	public void setSelectedPersonne(final Personne personne) {
		Personne oldPersonne = this.personne;
		this.personne = personne;
		this.changeSupport.firePropertyChange("personne", oldPersonne, this.personne);
	}
}

Et le Binding correspondant dans mon UI

Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
JTableBinding binding =
					SwingBindings.createJTableBinding(UpdateStrategy.READ_WRITE, this.personnesModel,
							(BeanProperty) BeanProperty.create("personnesList"), this.membersTable);

Maintenant comment faire pour ajouter un ObservableList sur ma liste de Benevolat liée à la personne en utilisant le même procédé.

J'espère avoir été assez clair. C'est pas mon fort d'expliquer les problèmes que je rencontre.

Merci d'avance pour vos réponses.