GridBagConstraints.fill funktioniert nicht

inetd82

Grünschnabel
Hallo!

Ich habe ein JInternalFrame, in dem sich (ausschließlich) ein Objekt einer von JPanel abgeleiteten Klasse befindet. Wenn ich den Frame vergrößere, bleibt das JPanel jedoch auf seiner ursprünglichen Größe, was etwas blöd aussieht. Ich verwende im Frame das GridBagLayout, und hatte eigentlich vermutet, dieses Problem mit c.fill=GridBagConstraints.BOTH vor add(jpanel,c) lösen zu können. Leider hat das keine Auswirkungen auf die Darstellung, das JPanel sitzt nach wie vor mit konstanter Größe in der Mitte des Frames.

Was mache ich falsch? Oder gibts ne Alternative dazu?

Danke schonmal im Voraus!

inetd82
 
Du musst die Gewichtung zusätzlich setzen. Diese Gewichtung wird relativ zu anderen Gewichtungen genutzt. Dies ermöglicht zwei Komponenten auf fill = BOTH zu setzen, und diese konkurrieren dann je nach Gewichtung um den Platz. Wäre die Gewichtung in x Richtung des einen bei 0,7 und beim anderen bei 0,3 würde die erste Komponenten 70% und die zweite 30% des Platzes einnehmen.

Java:
GridBagConstraints grid = new GridBagConstraints();
grid.fill = GridBagConstraints.BOTH;
grid.weightx = 1.0D;
grid.weighty = 1.0D;
 
Zurück