Größe JTabbedPane

dadom110

Erfahrenes Mitglied
HuHu...

hab hier ein JTabbedPane (auf einem InternalFrame), das verschiedene Reiter anzeigen soll. Unterhalb dieses TabbedPanes liegt noch einer Tabelle die Daten anzeigt. Mein Problem besteht darin, das ich die Größe meines TabbedPane-Containers dynamisch anpassen will, so das er genau so viel Platz benötigt wie er braucht und die Tabelle darunter möglichst viel Platz hat. Nur er setzt die Größe scheinbar immer auf die des "längsten" Reiters (bzw des längsten Panes, welches durch den Reiter aufgerufen wird), sodass die Reiter-Panes, die wenig Inhalte haben, viel zu viel Platz verwenden, mit viel freien Räumen. Jemand eine Idee?

grüße
Dom
 
Hi,

mit welchem Layout löst du das ganze denn bisher?

Wenn du das GridBagLayout verwendest solltest du das recht gut einstellen können, dass die TabbedPane und die Tabelle um den vorhandenen Platz konkurrieren (weightx und weighty).
 
HuHu..

ja verwende das GridBagLayout, es besteht auch kein Problem wenn ich nur einen Reiter habe, der relativ klein ist, dann passt er es wunderbar an, und das Fenster wird halb von vom Reiter-Container und halb von der Tabelle ausgefüllt (bei Weight Y : 50).

Das Problem besteht nur dann, wenn ich einen zweiten Reiter einfüge, dessen Pane doppelt so lang ist wie der erstere, dann wird der erste auch so lang dargestellt, mit entsprechend viel frei-fläche, darum müsste ich die größe des Reiter-Containers dynamisch nach gewähltem Reiter anpassen können, wenn so was möglich ist.

grüße
Dom
 
Mit "lang" meinst du "hoch" ja?

Dann setze doch die TabbedPane auf ein extra Panel und lasse dieses Panel mit der Tabelle um den Platz konkurieren. (Kann auch sein dass das den selben Effekt hat aber je nachdem wie man das Layout des Panels wählt könnte das gehen).
 
Problem wurde nun so gelöst:

Jede Reiterfläche ist so aufgabaut

1. Panel (muss scheinbar, da der TabbePane kein ScrollPane annimmt)
2.ScrollPane
3.Panel (wo die ganzen Sachen drauf liegen

Dank Dir Dom
 
hallo,

habe das gleiche problem: ich verwende ein JTabbedPane und habe darunter Buttons und die inhalte der Tabs sind unterschiedlich groß. leider passen sich alle tabs der größe nach dem größten tab an (höhe).
was kann ich nun unternehmen damit die tabs immer neu angepasst werden.

wie genau hast du es nun gelöst?

lg
gregor
 
Hallo Gregor,

die Lösung liegt, wie oben schon erwähnt, in einer ScrollPane.

Du könntst für die Seite der TabbedPane wieder eine eigene Klasse erstellen.
Dann legst Du für die größeren Seiten in eine ScrollPane.
Dabei kannst Du nicht Deine einzelnen Elemente in die ScrollPane legen.

Also: Pack die Elemente auf ein Panel, und dann das Panel in die JScrollPane.


Viel Erfolg.

Gruß
SOA
 
Zurück