Kay: Größe von JFrame

Beitrag lesen

Hallo,

ich leite eine Klasse von JFrame ab und setze verschiedene Eigenschaften, unter anderem das Layout "BorderLayout".
Nun habe ich zwei JPanels erstellt: pnOben und pnUnten.
In das obere Panel lege ich verschiedene JLabel- und JTextField-Komponenten.
Dann füge ich das Panel in "CENTER" ein:
getContentPane().add(pnOben, BorderLayout.CENTER);
In das untere Panel lege ich verschiedene JButton-Komponenten und füge es anschließend in "SOUTH" ein:
getContentPane().add(pnUnten, BorderLayout.SOUTH);

Nun zu meinem Problem:
Da das Fenster zu klein ist, werden nicht alle Komponenten ordnungsgemäß angezeigt.
Nun kann ich natürlich mit "setSize" eine größere Breite und Höhe angeben - das finde ich jedoch etwas unpraktikabel, da ich die korrekte Größe durch Probieren ermitteln müsste.
Gibt es eine Möglichkeit, das Fenster zu maximieren, also auf die maximale Breite und Höhe zu setzen?

Nun könnte es ja sein, dass dieses maximierte Fenster immer noch zu klein ist. Gibt es eine Möglichkeit, Scroll-Balken festzulegen?
Ich hätte dazu nur die folgende Idee:
Ich erstelle ein weiteres Panel mit beispielsweise dem Name "pnHaupt". Bei diesem Panel lege ich das Layout auf "BorderLayout" fest und füge dort die Panels "pnOben" und "pnUnten" hinzu. Das Haupt-Panel lege ich anschließend in eine ScrollPane und diese dann letzt endlich auf das Hauptfenster.
Das ganze könnte dann also wie folgt aussehen:
pnHaupt = new JPanel(new BorderLayout());
pnHaupt.add(pnOben, BorderLayout.CENTER);
pnHaupt.add(pnUnten, BorderLayout.SOUTH);
scrollPane = new JScrollPane(pnHaupt);
getContentPane().add(scrollPane, BorderLayout.CENTER);

Diese Lösung finde ich jedoch ziemlich aufwändig - vielleicht gibt's noch 'ne einfachere Variante?

Vielen Dank und viele Grüße,
Kay