# Buttons anordnen



## Pantoi (18. Mai 2010)

Hi,

ich bin mal wieder daran gescheitert die richtigen Stichworte für die Suche zu finden
- bin mir fast sicher, dass dieses "Problem" schon öfter gelöst wurde:

Ich möchte eine variable Anzahl Buttons in einem JPanel fester größe vertikal anordnen
und zwar so, dass diese Buttons nicht den ihnen gegeben Platz nutzen (d.h. mehr Abstand
bei weniger Buttons) sondern sich von oben nach unten schön einer nach dem anderen einreihen.

Ich hab so eine Gruppe bisher immer mit dem GridLayout gemacht, leider hat das den ganzen Platz
genutzt... jetzt dachte ich ans GridBagLayout mit GridBagConstraints.NORTH als Ausrichtung... das
war den Button leider auch relativ egal 
Hat jemand einen Tip bezüglich Layoutwahl oder Constraints?

Greetz Pantoi


----------



## Michael... (18. Mai 2010)

Eventuell kommt man da mit BoxLayout weiter, mit GridBagLayout sollte es auch gehen, hängt dann nur davon ab, welchen LayoutManager man zum Positionieren des Panels verwendest.


----------



## Pantoi (18. Mai 2010)

Eigentlich ist bei mir alles im GridBagLayout... weils meiner Meinung nach am flexibelsten is 
Ich stell mich grad wohl nur zu doof an, das richtige einzustellen...


----------



## L-ectron-X (18. Mai 2010)

Kannst du mal zwei Bilder von möglichen Zuständen zeigen?


----------



## Gast2 (18. Mai 2010)

Pantoi hat gesagt.:


> Eigentlich ist bei mir alles im GridBagLayout... weils meiner Meinung nach am flexibelsten is
> Ich stell mich grad wohl nur zu doof an, das richtige einzustellen...



Wenn du externe libs verwenden darfst würde ich dir das hier empfehlen...
JGoodies :: Forms


----------



## Pantoi (18. Mai 2010)

Hier ein Bild von 2 Zuständen  
Man sieht: je mehr checkboxes, desto schöner passt sich das alles an... jetzt haben die Panel zur Zeit noch keine
feste Größe, wie man sehen kann, das war aber auch schon der Fall und hat nichts geändert.
Ich hätte jetzt gern den Abstand zwischen den Checkboxes und den JButton unten festgelegt.


----------



## Pantoi (18. Mai 2010)

SirWayne hat gesagt.:


> Wenn du externe libs verwenden darfst würde ich dir das hier empfehlen...
> JGoodies :: Forms



Darf ich eher nicht, is aber trotzdem ne schicke Sache


----------



## Marco13 (18. Mai 2010)

Hm ... bin nicht sicher, was du mit "den Abstand festlegen" meinst. Aber ein "Trick" um Components platsparend anzuordnen kann in manchen Fällen sowas sein wie

```
JPanel outerPanel = new JPanel(new BorderLayout());
JPanel innerPanel = new JPanel(sonstwasFürnLayout);
outerPanel.add(innerPanel, BorderLayout.NORTH);
innerPanel.add(button0);
innerPanel.add(button1);
...
```
Damit wird das innere Panel "passend groß" gemacht - andernfalls würde es ja z.B. auf die gesamte Höhe gestreckt, wenn es in einem größeren Container liegen würde.... Bin aber nicht sicher ob du sowas meintest oder das für dich passt...


----------



## Pantoi (18. Mai 2010)

werd ich nachher mal testen


----------

