# JScrollPane mit JPanel als ViewPort -> setPreferredSize



## ToMeFox (10. Mai 2006)

Hallo!

Ich danke erstmal jedem der dies liest  

Ich habe ein größeres Programm, dessen Kontext diese Seite sprengen könnte   deshalb mach ich ein kleineres Beispiel. Ich habe ein JFrame, in dem im BorderLayout.CENTER ein JScrollPane liegt. Der ViewPort dieser JScrollPane ist ein JPanel. Im Bereich BorderLayout.NORTH liegt ein JSlider, aufgrund dessen die Größe des JPanels (ViewPort) verändert wird. Leider wird das JPanel erst größer, wenn ich das JFrame mit der Maus größer oder kleiner mache...

/ / Innerhalb der JFrame - Klasse
public voidstateChanged(ChangeEvent e)
{
   this.jPanelViewPort.setPreferredSize(this.jSlider.getValue(),this.jSlider.getValue());
   this.jScrollPane.repaint();
}​
Wie bereits gesagt, ändert sich die Größe des JPanels genau so wie ich das haben möchte, jedoch erst dann, wenn ich das Fenster mit der Maus bearbeite!

Kann mir jemand auf die Sprünge helfen?

Ich habe nach Stunden  der Suche keinen passenden Eintrag finden können. Ich denke ich müsste den LayoutManager dazu bewegen, den ViewPort zu aktuallisieren... aber ich habe keine Ahnung wie ich das anstellen kann.


----------

