Größe nicht anpassen

Hai, Auskenner,

ich hab ein Formular in einem JPanel in einem JFrame.
Laß ich meine unejalen Pfoten von den Größen, dann passt sich das JPanel gar hübsch den Formularfeldern plus Zwischenräumen an und der JFrame schmiegt sich passend drumrum - nu will ich aber den JFrame auf Vollbild haben und prompt vergrößert sich der geschachtelte Inhalt bis hin zu den Formularfeldern.

Wie und wo sag ich dem dummen Stück, daß ich den JFrame jetzt vergrößer, das JPanel aber bitteschön diese Änderungen ignorieren und wie bisher die Größe an den Inhalt anpassen soll?

Ich hab schon versucht, die JPanel-Größe nach dem Erstellen auszulesen und nach Vergrößerung des JFrames wieder zurückzuschreiben - interessiert ihn aber irgendwie nicht…

Gruß
Sibylle

Wie und wo sag ich dem dummen Stück, daß ich den JFrame jetzt
vergrößer, das JPanel aber bitteschön diese Änderungen
ignorieren und wie bisher die Größe an den Inhalt anpassen
soll?

Das kommt auf den Layout-Manager drauf an, den du verwendest. Manche unterstützen eine Maximal-Größe gar nicht. Bei Box-Layout und Spring-Layout funktioniert es beispielsweise. Nachfolgend ein Minimal-Beispiel:

import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;

import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.LineBorder;


public class TestResizePanel {


 public static void main(String[] argv) {
 JFrame frame = new JFrame();
 frame.setDefaultCloseOperation(JFrame.EXIT\_ON\_CLOSE);
 Container contentPane = frame.getContentPane();
 contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.LINE\_AXIS));
 JPanel panel = new JPanel();
 panel.setMaximumSize(new Dimension(400,200));
 panel.setBorder(new LineBorder(Color.BLUE, 10));;
 contentPane.add(panel);
 frame.setSize(300,200);
 frame.setVisible(true);
 }

}

Hai, Deconstruct,

Das kommt auf den Layout-Manager drauf an, den du verwendest.

der ist also der Schuld-habende…

Fühl Dich, wie üblich, jeknuddelt.

Gruß
Sibylle