Instanciation
lvTest = new ListViewer(compositeParent, SWT.BORDER | SWT.V_SCROLL);
List listTest = lvTest.getList();
Affectation du contenu et définition du ContentProvider
lvCategories.setContentProvider(new ArrayContentProvider());
lvCategories.setInput(getModeles());
package net.ex.categorie.main;
import java.util.ArrayList;
public class MyApp2 {
protected Shell shell;
private Table tableProduits;
private java.util.List<Categorie> categories;
private ListViewer lvCategories;
private Categorie categorieActive;
private TableColumnLayout tLayout;
/**
* Launch the application.
*
* @param args
*/
public static void main(String[] args) {
try {
MyApp2 window = new MyApp2();
window.open();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Open the window.
*/
public void open() {
Display display = Display.getDefault();
createContents();
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
/**
* Create contents of the window.
*/
protected void createContents() {
shell = new Shell();
shell.setSize(523, 406);
shell.setText("SWT Application");
shell.setLayout(new FillLayout(SWT.HORIZONTAL));
SashForm sashMain = new SashForm(shell, SWT.NONE);
Composite compoLeft = new Composite(sashMain, SWT.NONE);
compoLeft.setLayout(new FillLayout(SWT.HORIZONTAL));
lvCategories = new ListViewer(compoLeft, SWT.BORDER | SWT.V_SCROLL);
List listCategories = lvCategories.getList();
listCategories.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
StructuredSelection sel = (StructuredSelection) lvCategories.getSelection();
categorieActive = (Categorie) sel.getFirstElement();
}
});
Composite compoRight = new Composite(sashMain, SWT.NONE);
compoRight.setLayout(new FillLayout(SWT.HORIZONTAL));
SashForm sashForm = new SashForm(compoRight, SWT.VERTICAL);
Composite composite = new Composite(sashForm, SWT.NONE);
tLayout = new TableColumnLayout();
composite.setLayout(tLayout);
TableViewer tvProduits = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION);
tableProduits = tvProduits.getTable();
tableProduits.setHeaderVisible(true);
tableProduits.setLinesVisible(true);
createColumn(tableProduits, "Nom", 10);
createColumn(tableProduits, "Couleur", 5);
Composite composite_1 = new Composite(sashForm, SWT.NONE);
sashForm.setWeights(new int[] { 1, 1 });
sashMain.setWeights(new int[] { 2, 5 });
loadCategories();
}
private void createColumn(Table table, String caption, int weight) {
TableColumn col = new TableColumn(table, SWT.NONE);
col.setText(caption);
tLayout.setColumnData(col, new ColumnWeightData(10));
}
public void loadCategories() {
lvCategories.setContentProvider(new ArrayContentProvider());
lvCategories.setInput(getCategories());
}
public java.util.List<Categorie> getCategories() {
categories = new ArrayList<>();
categories.add(new Categorie("catégorie 1", new String[] { "elem1", "elem2" }));
categories.add(new Categorie("catégorie 2", new String[] { "elem3" }));
categories.add(new Categorie("catégorie 3", new String[] { "elem4" }));
return categories;
}
}