Wie ändere ich die Größe der einzelnen JPanels bei einem BorderLayout in Java?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Verwende setPreferredSize.

Beispiel:

var top = new JPanel();
top.setBackground(Color.YELLOW);
top.setPreferredSize(new Dimension(200, 200));

var bottom = new JPanel();
bottom.setBackground(Color.BLUE);
bottom.setPreferredSize(new Dimension(200, 400));

var panel = new JPanel(new BorderLayout());
panel.add(top, BorderLayout.PAGE_START);

panel.add(bottom);

Das Panel für den unteren Bereich kann man dabei ruhig auch in die CENTER-Fläche verschieben, da es ja eh den Hauptbereich seines Containers abdecken soll.

Die Konstanten NORTH, SOUTH, etc. sind übrigens veraltet. Bevorzugt sind stattdessen PAGE_START und PAGE_END.