Komponente vertikal zentrieren

Tagchen Xperten,

wie man ja weiss, kann man mittels des FlowLayouts eine Komponente auf einem Panel quasi automatisch horizontal zentrieren.

Nun möchte ich diese aber auf einem Vertikal gestrecktem Panel vertikal zentrieren, nur wie?

Weiss jemand Rat?

MfG
Christoph

Sorry, auf diese Frage habe ich keine Antwort, aber generell kann ich nur ein anderes Layout empfehlen. Mein liebstes Kind ist das GridBagLayout. Das ist zwar anfangs etwas schwierig, aber wenn man damit mal etwas experimentiert und sich daran gewöhnt hat, ist es für jede GUI benutzbar. Für einfachere Zwecke gibt es noch das BorderLayout oder GridLayout. Vom FlowLayout kann ich prinzipiell nur abraten - die Einschränkungen sind einfach zu tief.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Sorry, auf diese Frage habe ich keine Antwort, aber generell
kann ich nur ein anderes Layout empfehlen. Mein liebstes Kind
ist das GridBagLayout. Das ist zwar anfangs etwas schwierig,
aber wenn man damit mal etwas experimentiert und sich daran
gewöhnt hat, ist es für jede GUI benutzbar. Für einfachere
Zwecke gibt es noch das BorderLayout oder GridLayout. Vom
FlowLayout kann ich prinzipiell nur abraten - die
Einschränkungen sind einfach zu tief.

Ich denke, jedes Layout hat seine Vor- und Nachteile.

In meinem Falle brauche ich leider eine vertikale Zentrierung. Weiss der Teufel, warum das FlowLayout das nicht bietet/bieten will.

In einem anderen Forum hatte ich gelesen, dass jemand ein ähnliches Problem hatte und dieses mittels des GridBAgLayout löste, leider schrieb er nicht, wie er es tat, und da der Beitrag schon etwas älter war und ich mich nicht bei noch einem Forum anmelden wollte werde ich wohl nicht erfahren, wie denn die seine Lösung war…

Ich hoffe mal, dass jemand schon einmal vor diesem Problem stand, dieses löste und mich hier darüber aufklären möchte, denn ich sehe durch keines der vielen Gestaltungsmöglichkeiten in Java derzeit eine Lösung für mein Problem (Für den Rest der Benutzungsschnittstelle reichen Variationen des Border- und FlowLayouts vollkommen aus.)

MfG
Christoph

Ps.
schöne Feiertage

Ich denke, jedes Layout hat seine Vor- und Nachteile.

Right.

In meinem Falle brauche ich leider eine vertikale Zentrierung.
Weiss der Teufel, warum das FlowLayout das nicht bietet/bieten
will.

Das hab ich mich auch schon gefragt.

Ich hoffe mal, dass jemand schon einmal vor diesem Problem
stand, dieses löste und mich hier darüber aufklären möchte,
denn ich sehe durch keines der vielen Gestaltungsmöglichkeiten
in Java derzeit eine Lösung für mein Problem (Für den Rest der
Benutzungsschnittstelle reichen Variationen des Border- und
FlowLayouts vollkommen aus.)

Ich empfehle daher das TableLayout:
http://www.clearthought.info/software/TableLayout/

Hier ein Artikel:
http://javamagazin.de/itr/online_artikel/show.php3?n…

Ciao, Bill

Ich empfehle daher das TableLayout:
http://www.clearthought.info/software/TableLayout/

Hier ein Artikel:
http://javamagazin.de/itr/online_artikel/show.php3?n…

Ciao, Bill

Danke, in der Zwischenzeit hat jemand anderes für das Problem eine Lösung gefunden, die in etwa dem Komplexitätsgrad entspricht, den ich für das Problem erwartete, dennoch bedanke ich mich für den Hinweis auf das Tablelayout, mit dem es auch hervorragend funktionierte (evt werden wir dies an anderer Stelle benutzen).

Und nun fürs Archiv der Codeschnippsel für die vertikale Zentrierung, der so einfach ist, dass ich mich schon bald dafür schäme:

GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
JPanel panel = new JPanel(gbl);
JLabel label = new JLabel("Ich bin zentriert");
gbc.anchor = GridBagConstraints.CENTER;
gbl.setConstraints(label,gbc);
panel.add(label);

MfG
Passer