# [SWT] Buttons vertikal zentrieren



## FelixB (25. Feb 2007)

Hi,

ich möchte drei Buttons in einem Composite untereinander anordnen. Das ganze soll vertikal zentriert werden, also nicht die Buttons von ganz oben an angeordnet...

klappt nur noch nciht so ganz:


```
GridLayout gridLayout = new GridLayout(1,false);
    
    Composite group = new Composite(rowComposite,SWT.NONE);
    group.setLayout(gridLayout);
      
    GridData gridData = new GridData();
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;
    
    Button addButton = new Button(group, SWT.NONE);
    addButton.setText("show weights");
    addButton.setLayoutData(gridData);
    
    addButton = new Button(group, SWT.NONE);
    addButton.setText("load settings");
    addButton.setLayoutData(gridData);
    
    addButton = new Button(group, SWT.NONE);
    addButton.setText("save settings");
    addButton.setLayoutData(gridData);
    
    FormData formData = new FormData();
    formData.top = new FormAttachment(elemGroup, 20);
    formData.left = new FormAttachment(attGroup, 20);
    formData.bottom = new FormAttachment(100, 0);
   
    group.setLayoutData(formData);
```

elemGroup ist eine Group oberhalb des neuen Composites, attGroup ist links davon.

wie kriege ich die Buttons jetzt vertikal zentriert? Also der mittlere Button genau in der Mitte, die beiden anderen direkt ober- bzw. unterhalb...

danke!
Felix


----------



## siroFranz (25. Feb 2007)

setz die doch ein GridLayout(3,0)


----------



## FelixB (25. Feb 2007)

damit erzeuge ich doch drei Spalten, dann sind die Buttons nebeneinander :-?


----------



## dieta (25. Feb 2007)

Dann eben ein GridLayout(1,3)


----------



## FelixB (26. Feb 2007)

"GridLayout(int,int) is undefined"

es gibt nur GridLayout() und GridLayout(int numColumns, boolean makeColumnsEqualWidth)


----------



## dieta (26. Feb 2007)

FelixB hat gesagt.:
			
		

> "GridLayout(int,int) is undefined"
> 
> es gibt nur GridLayout() und GridLayout(int numColumns, boolean makeColumnsEqualWidth)



java.awt.GridLayout(int, int)

Deinen 2. Konstruktor gibt es gar nicht...
Bist du sicher, dass wir über dasselbe GridLayout reden?


----------



## Roar (26. Feb 2007)

wenn hier alle mal den source code lesen würden wäre das sicherlich angebracht für die diskussion :roll:


----------



## Leroy42 (26. Feb 2007)

dieta hat gesagt.:
			
		

> Deinen 2. Konstruktor gibt es gar nicht...
> Bist du sicher, dass wir über dasselbe GridLayout reden?



Vielleicht liegts auch daran, daß SWT ein anderes GridLayout hat.

Ich selbst kenne SWT nicht und kann daher nichts dazu sagen.


----------

