Hallo liebe Experten,
LayoutManager haben den Vorteil, dass sie uns viel Arbeit abnehmen.
Deshalb benutze ich sie gern.
Systemumfeld: XP und Java 1.5
Die Aufgabe ist, ein Layout zu erstellen, wofür dem ersten Anschein nach das BorderLayout geeignet ist.
Es gibt einen Nordbereich aus drei Teilen,
einen Ost-Bereich aus zwei Teilen,
einen Südbereich aus einem Teil
und einem West-Bereich aus einem Teil.
Der Platz im Zentrum soll sich aus dem Verbleib ergeben.
Gedacht getan.
Das Panel VIEW bekommt ein BorderLayout und wird später dem BorderLayout.CENTER eines Frames übergeben.
Das Panel VIEW mit BorderLayout
… besteht aus 5 Panels. Nord, Ost, Süd, West und Mitte.
Das Panel Nord mit BorderLayout (Blau)
… besteht aus einem Panel mit Bild (BorderLayout.WEST),
aus einmem Panel mit GridLayout, Labels und Buttons (BL.CENTER)
und noch einem Panel mit Bild (BL.EAST).
Das Panel Ost mit BorderLayout (ROT)
… besteht aus einem Panel, auf dem mit paint() gezeichnet wird (BL.NORTH)
und aus einem Panel mit Textfeld (BL.SOUTH).
Das Panel Süd mit BorderLayout (Grün)
… besteht aus einem Panel mit Bild (BL.WEST),
aus einem Panel ohne Inhalt (BL.CENTER)
und einem Panel mit Bild (BL.EAST)
Das Panel West mit BorderLayout (Gelb)
… besteht aus einem Panel, auf dem mit paint() gezeichnet wird (BL.CENTER)
Das Panel Mitte mit BorderLayout (Schwarz)
… besteht aus einem Panel, auf dem mit paint() gezeichnet wird (BL.CENTER)
Einen Eindruck bekommst du, wenn du in diesem Programm den Baukasten aufrufst. Um den geht es genau.
http://www.haller-mtl.de/homepage/breakout/breakout…
Im Moment funktioniert der Baukasten mit GridBagLayout, ist aber inzwischen unwartbar geworden. Deshalb nun der Versuch mit den geschachtelten LayoutManagern.
Die Panels Nord, West, Ost, und Süd haben mit setSize(…) ihre Größe erhalten. Allerdings ignoriert der LayoutManager ganz offenbar diese Angaben.
In Praxis füllt das Panel Mitte das Fenster fasst vollstädig aus und die Bereiche West, Ost und Süd sind nur 3 mm breit. Die Panels mit den Bildern (Logos) sind nur kleine Punkte (3 x 3 mm).
Ausnahme ist der Bereich Nord. Dort befindet sich das Panel mit den Buttons und Labels. Da ignoriert der LayoutManager zwar auch alle Maße, zeigt aber wenigstens das Panel vernünftig an.
Offenbar kommt er mit Buttons und Labels besser zurecht als mit leeren Panels.
Jetzt zu meiner Frage
Vielen Dank allen, die bis hier durchgehalten haben.
Wie bekomme ich den LayoutManager dazu, die Größen der Panels zu akzeptieren?
Welche Möglichkeiten gibt es, den LM dazu zu bekommen, die Bereiche Nord, Ost, West und Süd breiter zu machen?
Liebe Grüße
Uwe