swing: Probleme mit mehreren Panels in einem Frame!
-
Hallo
Ich habe mir 3 Klassen geschrieben welche ich von JPanel ableite. Diese möchte ich nun in einer 4ten Klasse (extended JFrame) instanzieeren:
[java]
public class SPanelTest extends JFrame {
GridBagLayout gridBagLayout1 = new GridBagLayout();
JPanel jPanel1 = new ButtonPanel();
JPanel jPanel2 = new ButtongroupPanel();
JPanel jPanel3 = new TextfieldPanel();private void jbInit() throws Exception {
this.getContentPane().setLayout(gridBagLayout1);this.getContentPane().add(jPanel2, new GridBagConstraints(0, 3, GridBagConstraints.REMAINDER, GridBagConstraints.REMAINDER, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
this.getContentPane().add(jPanel3, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
this.getContentPane().add(jPanel1, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));} [/code]
Das Problem ist nun: Wenn ich die main Methode dieser Klasse ausführe und den frame anzeigen möchte erscheint nur ein minimales Fenster d.h. nur die blaue Systemleiste mit dem java Symbol oben links und den Knöpfen zum minimieren, maximieren, schliessen.
Wenn ich dieses Fenster groß ziehe kann ich den Inhalt erkennen und alles ist gut. Sowohl der Frame als auch die Panels verwenden gridBagLayout, da die Panels eine Prefered+Mindest Grössen haben müsste der Frame doch genau so groß sein das die 3 Panels angezeigt werden können.
-
Häng doch am schluss der Initialisierung noch ein pack() an?
-
Deine Pennels verwenden Prefered ??
Dieser wert wird nur genutzt wenn es so angezeigt werden kann.
du must dem JFrame ne größe geben.
setSize(.., ..);