# Warum funktioniert setMaximumSize() nicht?



## -frank (2. Jul 2007)

... bzw. was mache ich falsch?

ich habe einen JDialog. In diesem gibts als ContentPane ein JPanel, das wiederum eine JTabbedPane bekommt und die hat als Tabs dann wieder JScrollPanes (wobei der View wieder ein JPanel, das die Komponenten mittels BoxLayout ausrichtet).

Wenn ich nun dem JDialog (oder auch der ContentPane, der TabbedPane, etc.) als PreferredSize zb (500, 500) angebe, dann bekomme ich die entsprechende Größe (allerdings egal wie groß der View der Scrollpane ist). Was ich gerne hätte, wäre, eine maximale Größe anzugeben, eben damit die JScrollPane das Scrollen aktiviert, wenn es nötig ist.
Es erscheint mir äußerst logisch, dafür setMaximumSize() zu verwenden. Funkt aber nicht. Ich benutze in diesen Komponenten auch niemals null-Layout bzw. eigene Layouts. Was mache ich falsche bzw. warum wird die Maximumsize ignoriert?

danke schon mal!


----------



## JPKI (2. Jul 2007)

Nicht jeder LayoutManager kann auf die bevorzugten Größen eingehen, BoxLayout tut dies meines Wissens z.B. nicht.
Wenn du die maximale Größe dennoch festlegen willst, empfiehlt sich evtl. FlowLayout oder GridBagLayout.


----------



## -frank (2. Jul 2007)

JPKI hat gesagt.:
			
		

> Nicht jeder LayoutManager kann auf die bevorzugten Größen eingehen, BoxLayout tut dies meines Wissens z.B. nicht.
> Wenn du die maximale Größe dennoch festlegen willst, empfiehlt sich evtl. FlowLayout oder GridBagLayout.



was ich nur nicht verstehe, ist, warum es nicht mal JScrollPane geht. ich meine, eine ScrollPane ist ja dafür da, dass eine maximale Größe nicht überschritten wird. aber auch die maximumSize des Viewports zu setzen, bringt (bei mir) nichts.

die lösung ist in meinem fall übrigens sehr einfach:
ich extende JScrollPane und überschreibe getPreferredSize(). Sollte super.getPreferredSize() eine größere Größe melden als getMaximumSize(), dann returniere ich eben die maximumSize. Auf den ersten Blick funktioniert dies ohne Probleme.


----------



## JPKI (2. Jul 2007)

Auf den ersten Blick :lol: ?


----------



## -frank (2. Jul 2007)

JPKI hat gesagt.:
			
		

> Auf den ersten Blick :lol: ?



*g* naja, meinte, dass es "auf den ersten blick" richtig gelayoutet aussieht. mit verschiedenen einstellungen bzw. größen hab ich das jetzt nicht überprüft und eben auch nur mit dem auge "getestet", aber dieser erste test wurde bestanden 

ist irgendwo (In der java doku) übersichtlich aufgelistet, welche layouts welche settings (preferred-, min-, max-size) ignorieren?


----------



## JPKI (3. Jul 2007)

In der Java-Doku meines Wissens nicht, eventuell aber auf der Javainsel.


----------

