TableTreeViewer deprecated, TreeViewer à la rescousse
Depuis la nouvelle version d’Eclipse 3.3, il est déconseillé d’utiliser directement le composant TableTreeViewer
pour mixer un arbre avec une table.
La raison est simple. Eclipse 3.3 intègre une gestion des colonnes via la classe ViewerColumn
(sous types TableViewerColumn
et TreeViewerColumn
).
Par conséquent, pour éviter d’utiliser le composant TableTreeViewer
, il faut utiliser un TreeViewer
avec des colonnes de type TreeViewerColumn
.
La capture d’écran (un arbre pour la première colonne et une table pour les autres colonnes)
Ci-dessous un code d’exemple.
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
final TreeViewer viewer = new TreeViewer(shell, SWT.FULL\_SELECTION);
viewer.setContentProvider(new MyTreeContentProvider());
TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.CENTER);
column.setLabelProvider(new ColumnLabelProvider() {
public String getText(Object element) {
if (element instanceof Person) {
Person current = (Person)element;
return current.getName();
} else {
return element.toString();
}
}
});
column.getColumn().setText("Métier / Nom");
column = new TreeViewerColumn(viewer, SWT.CENTER);
column.setLabelProvider(new ColumnLabelProvider() {
public String getText(Object element) {
if (element instanceof Person) {
Person current = (Person)element;
return current.getAdress();
} else {
return null;
}
}
});
column.getColumn().setText("Adresse");
La première colonne appelée Métier / Nom contient l’arbre tandis que les autres décrivent les colonnes de la table.
L’exemple complet peut être trouvé ici.
Je suis Mickaël BARON Ingénieur de Recherche en Informatique à l'ISAE-ENSMA et membre du laboratoire LIAS le jour
Veilleur Technologique la nuit
#Java #Container #VueJS #Services #WebSemantic
Derniers articles et billets