# JTabbedPane Größe anpassen



## Mike90 (14. Dez 2010)

Hallo,

ich befasse mich gerade mit Swing und JTabbedPanes.

Ich habe einen Dialog, wie unten zu sehen. In diesem Dialog habe ich einen JTabbedPane, den ich einfach erzeuge und 2 Tabs raufpacke.

Leider kann ichdie Größe des JTabbedPane nicht anpassen, ob über den JTabbedPane direkt, noch mit dem GridBagConstraint:

```
GridBagConstraints gc = new GridBagConstraints();
		gc.gridx = 0;
		gc.gridy = 9;
		gc.gridwidth = 2;
		gc.gridheight = 1;
		gc.weightx = 100.0;
		gc.weighty = 100.0;
		gc.insets = new Insets(5, 5, 5, 5);
		gc.anchor = GridbagConstraints.Center;
		gc.fill = GridbagConstraints.None;
		panelMain.add(c, gc);
```

klappt auch nicht, wenn ich das ändere:

```
gc.weightx = 100.0;
		gc.weighty = 75.0;
```







weiß jemand, wie man das machen kann ?

VG MikeX


----------



## Mike90 (14. Dez 2010)




----------



## VfL_Freak (14. Dez 2010)

Moin,


Mike90 hat gesagt.:


> Leider kann ichdie Größe des JTabbedPane nicht anpassen, ob über den JTabbedPane direkt, noch mit dem GridBagConstraint:



Was genau meist Du denn mit *Größe* ???:L
Die Breite des Reiter ???:L
Oder Breite und Höhe des darunterliegenden Anzeigebereichs ???:L

Gruß
Klaus


----------



## Mike90 (14. Dez 2010)

Moin,

ok, hab ich blöd erklärt.

Also eigentlich will ich nur die Höhe des JTabbedPanes anpassen.
Also kleiner machen.

VG MikeX


----------



## VfL_Freak (14. Dez 2010)

Moin,



Mike90 hat gesagt.:


> Also eigentlich will ich nur die Höhe des JTabbedPanes anpassen.
> Also kleiner machen.



Also die Höhe des Anzeigebereichs ....

Dann musst Du halt die Dimensionen des Panels (oder was auch immer Du den jeweiligen TabbedPanes zuordnest) verkleinern - oder ggf. die Dimensionen des Bereichs, in den die TabbedPanes eingefügt werden !!

Gruß
Klaus


----------



## Mike90 (14. Dez 2010)

Also ich habe auf den tabs jeweils einen panel.
Aber mit setSize(Dimension) gehts es auf dem Panel und auf dem tab bzw. Tabbedpane nicht. Das habe ich schon alles getestet.


----------



## VfL_Freak (14. Dez 2010)

Moin,

auf die Gefahr hin, mich zu wiederholen  .....


VfL_Freak hat gesagt.:


> Dann musst Du halt die Dimensionen des Panels (oder was auch immer Du den jeweiligen TabbedPanes zuordnest) verkleinern - oder ggf. die Dimensionen des Bereichs, in den die TabbedPanes eingefügt werden !!



Was hast Du denn genau versucht und welche Probleme traten dabei auf ???:L

Gruß
Klaus


----------



## Mike90 (14. Dez 2010)

zum einen habe ich auf dem JTabbedPane folgendes gemacht:

```
jPaneTabbed.setSize(new Dimension(10, 10));
```

dann habe ich noch:

```
panelWoEineTabelleDraufIst.setSize(new Dimension(10, 10));
```

auch in dem Constraint habe ich schon Anpassungen versucht. Das sieht jetzt folgendermaßen aus:

```
GridBagConstraints gc = new GridBagConstraints();
		gc.gridx = x;
		gc.gridy = y;
		gc.gridwidth = width;
		gc.gridheight = height;
		gc.weightx = 100.0;    
		gc.weighty = 100.0;   // habe gedacht bei der Y-Wichtung sollte es gehen, aber geht nicht
		gc.insets = new Insets(5, 5, 5, 5);
		gc.anchor = align;  // Horizontal
		gc.fill = fill;  // None
		panelMain.add(panelWoEineTabelleDraufIst, gc);
```

das klappt irgendwie alles nicht....



VG MikeX


----------



## VfL_Freak (14. Dez 2010)

Moin,

hmm, irgendwie verstehe ich Deinem Aufbau noch so ganz ....

Also _jPaneTabbed _ist das Pane für dir Reiter, ok ?
Und _panelWoEineTabelleDraufIst_ ist dann vermutlich das Pane für den Inhalt eines Reiters, richtig?

Und was ist _panelMain_ ???:L

Gruß
Klaus


----------



## Mike90 (14. Dez 2010)

jPaneTabbed ist das JTabbedPane und das panelWoEineTabelleDraufIst ist halt das Panel, wo die zweispaltige Tabelle zu sehen ist in dem einen Tab.


----------



## VfL_Freak (14. Dez 2010)

VfL_Freak hat gesagt.:


> Und was ist _panelMain_ ???:L



;(


----------



## Mike90 (14. Dez 2010)

panelMain ist das hauptPanelalso ich habe 3 Panels:
- Panel1 = Label + TextFelder + Überschrift
- Panel2 = der JTabbedPane
- Panel3 = 2 Buttons

PanelMain fasst alle drei zusammen

:SORRY:


----------



## VfL_Freak (14. Dez 2010)

Moin,

ah, und warum addest Du dann Dein _panelWoEineTabelleDraufIst_ zum _panelMain_ ???:L



> panelMain.add(panelWoEineTabelleDraufIst, gc);



Dann müsste es doch 

```
jPaneTabbed.add(panelWoEineTabelleDraufIst, gc);
```
heissen ..... oder stehe ich jetzt völlig auf dem Schlauch 

Gruß
Klaus


----------



## Mike90 (14. Dez 2010)

tut mir leid, aber eigtl sollte es:

```
panelMain.add(jTabbedPane, gc);
```

heißen...

Ich habs jetzt nochmal umgebaut.
Nun habe ich nicht mehr 3 Panels, sondern nur noch einen -> panelMain auf dem Dialog






So sieht das ganze jetzt aus.. bzw die rechte Abb soll es werden!


----------



## VfL_Freak (15. Dez 2010)

Moin,

erstens - ich kann Di hier nicht mehr wirklich weiterhelfen ... möglicherweise liegt es ja auch am GridBagLayout, mit dem ich mich allerdings auch nur bedingt auskenne. Hast Du es schon mal mit einem anderen Layoutmanager versucht ??

Zweitens: Bitte nicht über PN! Wenn wir es hier auf der Webseite diskutieren haben ggf. auch nachfolgende Generationen etwas davon 

Gruß
Klaus


----------



## Mike90 (15. Dez 2010)

Moin,

alles klar..
Ja mit anderen LayoutManagern habe ich es schon getestet. Aber auf dem mainPanel wollte ich kein anderes Layout aufsetzen!

VG Mike90


----------



## VfL_Freak (15. Dez 2010)

Hat es denn mit anderen funktioniert ???:L

Gruß
Klaus


----------



## Mike90 (15. Dez 2010)

Ja das hat geklappt. Ich hatte zu diesem zeitpunkt aber leider noch keinen jtabbedfolder. Hatte da einen splitpane am start. Mit dem jtabbedpane habe ich nur noch das flow und gridlayout getestet. Ist aber genau das gleiche in grün mit der grõße. :-(


----------

