GridBagLayout zentrieren

merlinonline

Grünschnabel
Moin,
ich habe ein Problem bezüglich des GridBagLayouts.
Ich habe JPanel welches ein GridbagLayout beinhaltet zur Anzeige der Komponenten. Diese drucke Panel drucke ich dann, was auch schön funktioniert. Nur eine Sache nervt noch.
Ich möchte gerne das die Komponenten mittig oben liegen.

Nun müßte ich an sich ja nur das GridbagLayout davon überzeugen, halt die Komponenten oben abzulegen und nicht zentriert. Also die einzelnen Komponenten im GridbagLayout sind bereits richtig, nur halt das gesamte Panel legt die Elemente immer zentriert ab, ich möchte diese aber halt oben haben.

Weiß wer rat? Ich habe schon porbiert beim JPanel die Alignements zu setzen, hat aber nichts weiter gebracht.

Gruß
merlin.online
 
Hallo,
genau das selbe Problem habe/hatte ich auch.

Ich kann Dir zwar leider nicht sagen wie man es "richtig" machen kann. ( Das habe ich nämlich selber nicht gefunden), aber es gibt einen kleinen trick den ich im Moment benutze.

Ich füge am Ende einfach ein Label ein welches zwar sichtbar ist, aber als Text nur das ASCII Zeichen Alt+255 enthält. Dieses ist nicht sichtbar und schiebt die restlichen Komponenten so weit nach oben wie man möchte(Größe solange verändern bis das Panel so aussieht wie man es haben möchte)

Mit freundlichen Grüßen,
Loti
 
Hi,
betsen dank für die Idee, habe auch schon überlegt die Insets vom letzten Element zu ändern, aber so richtig genail ist das ja nicht ;)
Da müßte es doch eigentlich ne anderen Lösung geben. zumal eigentlich müßte sich das GridBagLayout ja auch über die ganze Fläche ausbreiten, und nicht nicht nur so ein Stück in der Mitte. Irgendwo ist da doch ein Fehler drin.
Welche Java Version nutzt du? 1.6?

Ist mir nämlich auch aufgefallen, hab schon im gleichen Porgramm vier oder fünf andere Panels oder Frames mit einem GridBagLayout und mal ist es über die Seite komplett, und mal bleibt es fix so groß wies ist, irgendwie doch schon komisch.

Jemand irgendwie Ideen?
 
Ich benutze für solche Sachen wo ich mit GUI Layout nicht weiterkomme immer einen GUI-Designer wie z.B. Jigloo. Da klickt man ein paar mal und dann siehts ordentlich aus. Dann guck ich mir den Code an und finde dann so recht schnell was mir noch fehlte und kann dass denn in meinem Code hinzufügen.

Wie auch immer, in deinem Fall müsstest du bei den GridBagContraints ein anchor = NORTH hinzufügen.
 
hmm das verstehe ich irgendwie nicht. Ich dachte der anchor gibt an wo inner halb einer Zelle der Inhalt hinkommt ? Ich glaube der TE (und ich auch) meinten das ganze GridbagLauyout so zu verschieben, dass es ganz oben anfängt und nicht zentriert...

Christian
 
hi,
hatte gerade dass selbe Problem und erstaunlicherweise auch eine Lösung gefunden. Pack einfach dein Panel in ein neues JPanel und schon steht es brav oben mittig :)

Malte
 
Zurück