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)
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 : 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 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 : 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
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager