Hallo,
Ich möchte aber nicht dass das JPanel mit den Formularfeldern gleich gross ist wie das JPanel mit den Buttons. Das ergibt riesige Buttons. Nun habe ich versucht den JPanel's mit setSize() und setMaximumSize() eine Grösse zuzuweisen. Das wird aber ignoriert. Wie kann ich das lösen, damit mein Frame so aussieht?:
Nimm für das InternalFrame kein GridLayout. Das GridLayout macht alle
Zellen gleich groß. Und da die Komponenten in der Zelle so groß wie
die Zelle wird, sind auch die Komponenten alle gleich groß.
Nimm für das InternalFrame auch wieder ein GridBagLayout. Setze dabei
die Constraint-Variable "weighty" für das obere Panel auf 1 und für
das untere Panel auf 0.
Vermutlich tut es statt dem GridBagLayout auch ein BorderLayout im
InternalFrame. Das dürfte schneller sein.
Platziere das obere Panel ins Zentrum (CENTER) und das untere Panel
in den Süden (SOUTH).
Komponenten im Norden und Süden werden in ihrer Breite auf die
Gesamtbreite ausgedehnt, während sie in der ihrer Höhe nur die
bevorzugte Größe einnehmen. Komponenten im Westen und Süden behalten
ihre Breite, nehmen aber die gesamte Höhe ein. Die Komponente in der
Mitte nimmt den restlichen Platz ein. Da du nur noch eine Komponente
unten hast, wird das obere Panel die gesamte Breite und restliche
Höhe einnehmen.
Gruß
Slyh