Bonjour,

Je voudrais faire un panneau comportant des labels et des zones de saisie.
J'ai fait GridLayout(4) par exemple pour les placer.

Ce composant est un composite dont j'ai mis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
compPrincipal.setLayoutData(gridData);
Le problème c'est qu'il ne me fais pas des tailles identiques sur les cellules d'une ligne : les 3 premières sont de largeur égales, la derniere cellule prend tous le restant de la place.

J'ai essayé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
gridLayout.makeColumnsEqualWidth = true;
Mais il n'en veut pas non plus...

Sur un label j'ai par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
	private void newLabel(String text, int horizontalspan, int verticalspan, int swt ) {
		GridData gridData = new GridData();
		gridData.grabExcessHorizontalSpace = false;
		gridData.horizontalAlignment = SWT.FILL;
		Label numeroMembre = new Label(screen, swt | SWT.BOTTOM);
		numeroMembre.setText(text);
		gridData.horizontalSpan = horizontalspan;
		gridData.verticalSpan = verticalspan;
		numeroMembre.setLayoutData(gridData);
	}
Pour une cellule vide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
	private void blanc(int horizontalspan, int verticalspan) {
		GridData gridData = new GridData();
		gridData.horizontalAlignment = SWT.FILL;
		gridData.horizontalSpan = horizontalspan;
		gridData.verticalSpan = verticalspan;
		Label numeroMembre = new Label(screen,  SWT.NONE);
		numeroMembre.setText("");
		numeroMembre.setLayoutData(gridData);
	}
Comment faire ? Ou peut-être ce n'est pas la solution car je voudrais que quelques soit la taille il puisse m'afficher correctement ce composite...