Bonjour tout le monde,
j'ai un petit problème avec la Table basique de SWT, en fait mon premier objet dans ma première colonne est décalé à droite. Vous avez une idée de la raison ? (voir image)
Version imprimable
Bonjour tout le monde,
j'ai un petit problème avec la Table basique de SWT, en fait mon premier objet dans ma première colonne est décalé à droite. Vous avez une idée de la raison ? (voir image)
- Il s'agit peut être d'un TableTree ?
http://www.java2s.com/Code/Java/SWT-...sTableTree.htm
Si tu n'a ajouté qu'un item et sans sous item, alors la case +/- n'apparait pas.
Mais Sa place est réservé.
Tu peux le vérifier en lui ajoutant un sous item.
- Il s'agit peut de la place pour un icone. La place lui est réservé devant le label. mais mis a nul, rien n'est affiché.
Tu peut le vérifier en ajoutant un icon a l'item.
Sinon, le code serait utile.
Une table sans rien : http://www.java2s.com/Code/Java/SWT-...bleExample.htm
Donc ca doit marcher.
@+
Bonjour, merci pour ta réponse. Donc en fait j'utilise bien une table et j'ai regardé, ma premiere colonne ajouté à la table ne prend pas en compte le paramètre comme SWT.CENTER ou SWT.LEFT. Il reste au même endroit avec le petit espace avant.
Voilà le code de création de ma table :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public Table generateTable(Composite parent, String[] titles) { Table table = new Table(parent, SWT.FULL_SELECTION); table.setLinesVisible(true); table.setHeaderVisible(true); TableLayout layoutTable = new TableLayout(); layoutTable.addColumnData(new ColumnWeightData(25, true)); layoutTable.addColumnData(new ColumnWeightData(25, true)); layoutTable.addColumnData(new ColumnWeightData(40, true)); layoutTable.addColumnData(new ColumnWeightData(10, true)); table.setLayout(layoutTable); GridData data = new GridData(SWT.CENTER, SWT.CENTER, true, true); data.grabExcessHorizontalSpace = true; table.setLayoutData(data); for (int i = 0; i < titles.length; i++) { TableColumn column = new TableColumn(table, SWT.CENTER); column.setText(titles[i]); }
Bonjour,
Tu as toujours ton problème ?
Voici un code complet. A tu l'espace avec ca ?
Cordialement.Code:
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94 /* * Tree example snippet: Create a Table with columns * */ import org.eclipse.jface.viewers.ColumnWeightData; import org.eclipse.jface.viewers.TableLayout; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.TableItem; public class Snippet170_Table { static Table table = null; static int i = 0; public static void main(final String[] args) { Display display = new Display(); final Shell shell = new Shell(display); shell.setLayout(new GridLayout(1, false)); table = generateTable(shell, new String[] { "Col1", "Col2", "Col3" }); table.setHeaderVisible(true); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); Button button = new Button(shell, SWT.PUSH); button.setText("add Item"); button.addSelectionListener(new SelectionListener() { /** * {@inheritDoc} * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetDefaultSelected(final SelectionEvent e) { } /** * {@inheritDoc} * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { addItem(); } }); button.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false)); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } public static Table generateTable(final Composite parent, final String[] titles) { Table table = new Table(parent, SWT.FULL_SELECTION); table.setLinesVisible(true); table.setHeaderVisible(true); TableLayout layoutTable = new TableLayout(); layoutTable.addColumnData(new ColumnWeightData(25, true)); layoutTable.addColumnData(new ColumnWeightData(25, true)); layoutTable.addColumnData(new ColumnWeightData(40, true)); layoutTable.addColumnData(new ColumnWeightData(10, true)); table.setLayout(layoutTable); for (String title : titles) { TableColumn column = new TableColumn(table, SWT.CENTER); column.setText(title); } return table; } private static void addItem() { TableItem ligne = new TableItem(table, SWT.NONE); ligne.setText(new String[] { "valeur " + i + " 1", "valeur " + i + " 2" }); i++; } }
ps : Au cas ou, tutoriel jmd chap 16 dans les cours et tutoriels pour apprendre Java : http://java.developpez.com/cours/
Cherche Table.
Oui c'est bon merci bcp :)