Hallo zusammen,
hier mein Problem:
Ich möchte auf einem Panel (A) im GridBagLayout 3 weitere Panel (X,Y,Z) anordnen. Das Panel A ist in einem BorderLayout.
Also müssen erst einmal ein paar Constraints her
Danach erzeuge ich die Panels X,Y,Z welche wiedrum Panel Elemente beinhalten.
Das weitere geschiet mit den anderen Panels.
Danach setzte ich die Constaints:
Für alle weiteren Panels mach ich das genau so.
Dann Das Layout noch auf das Panel...
Wenn ich wie oben gezeigt weightx und weighty auskommentiert habe passiert gar nichts... es werden nur 3 kleine Kästchen angezeigt... ich hätte aber gerne, das die Panels X,Y,Z je nach Inhalt sich den Platz auf Panel A automatisch teilen.
Wenn ich die Kommentare rausmache werden die Panels "aufgespreizt" aber leider immer nur im angegebenen Verhäätnis (z.B. 25:75). Ich dachte immer das gerade das der Vorteil des GridbagLayouts wäre das sich die Panels automatisch anpassen
Das habe ich auch schon versucht: ohne Erfolg
Vielen Danke für jeden Tipp
Gruß
Jörg
hier mein Problem:
Ich möchte auf einem Panel (A) im GridBagLayout 3 weitere Panel (X,Y,Z) anordnen. Das Panel A ist in einem BorderLayout.
Also müssen erst einmal ein paar Constraints her
Code:
GridBagConstraints gBConstTrader = makeGbc(0,0,1,1);
// gBConstTrader.weightx = 100; //25
// gBConstTrader.weighty = 100; //75 // if free space in y - direction fill up with main panel
gBConstTrader.fill = GridBagConstraints.BOTH;
gBConstTrader.anchor = GridBagConstraints.NORTHEAST;
//set constraint for Customer Panel
GridBagConstraints gBConstCustomer = makeGbc(1,0,1,1);
// gBConstCustomer.weightx = 100;//75
// gBConstCustomer.weighty = 100;//75 // if free space in y - direction fill up with main panel
gBConstCustomer.fill = GridBagConstraints.BOTH;
gBConstCustomer.anchor = GridBagConstraints.NORTHEAST;
//set constraint for communication panel
GridBagConstraints gBConstCom = makeGbc(0,1,2,1);
// gBConstCom.weightx = 100;
// gBConstCom.weighty = 100; //25
gBConstCom.fill = GridBagConstraints.HORIZONTAL;
gBConstCom.anchor = GridBagConstraints.CENTER;
Code:
traderPanel = new UIHabitatTraderPanel(applet, this, main); //PANEL X
this.add(traderPanel); // PANEL A
Danach setzte ich die Constaints:
Code:
gBLayout.setConstraints(traderPanel ,gBConstTrader);
Dann Das Layout noch auf das Panel...
Code:
this.setLayout(gBLayout);
Wenn ich wie oben gezeigt weightx und weighty auskommentiert habe passiert gar nichts... es werden nur 3 kleine Kästchen angezeigt... ich hätte aber gerne, das die Panels X,Y,Z je nach Inhalt sich den Platz auf Panel A automatisch teilen.
Wenn ich die Kommentare rausmache werden die Panels "aufgespreizt" aber leider immer nur im angegebenen Verhäätnis (z.B. 25:75). Ich dachte immer das gerade das der Vorteil des GridbagLayouts wäre das sich die Panels automatisch anpassen
Das habe ich auch schon versucht: ohne Erfolg
Code:
this.validate();
this.repaint();
Vielen Danke für jeden Tipp
Gruß
Jörg