# JScrollPane scrollt nicht



## Rol (31. Mrz 2011)

Hallo,

ich möchte mit NetBeans eine GUI bauen. Als Grundlage habe ich eine JFrame Form erstellt auf der ich mit dem GUIBuilder meine Swing Komponenten plaziert habe. Soweit sogut.
Jetzt möchte ich, dass, wenn ich das Fenster (dann in der laufenden Anwendung, nicht im GUIBuilder) verkleinere automatisch Scrollbars erscheinen damit weiterhin alle Komponenten zugänglich sind.

Ich habe nun versucht, in die neu erstellte JFrame Form erst einmal eine JScrollPane einzufügen und alle anderen Komponeneten dann in diese JScrollPane in der Annahme die JScrollPane übernimmt dann das scrollen bei Platzmangel automatisch.

Leider passiert das nicht. Wenn ich das Fenster verkleinere werden imer noch die nicht darstellbaren Komponeten einfach abgeschnitten und es erscheinen keine Scrollbars.

Ist die Vorgehensweise, das ganze JFrame mit einem JScrollPane zu füllen und dann alles weitere in diese JScrollPane zu packen überhaupt der richtige Weg? 

Wenn nein, wie macht man es "richtig". Wenn ja, wie bringe ich das ganze dazu, dass die Scrollbars automatisch bei Platzmangel erscheinen.

MfG
Rol


----------



## Atze (31. Mrz 2011)

ohne nachzuschauen meine ich, dass du erst noch n panel in das frame setzten musst, dem du dann die scrollbar hinzufügst. falls ich mich richtig erinnere


----------



## SlaterB (31. Mrz 2011)

ein JScrollPane scrollt nur wenn sich der Inhalt groß genug fühlt, 
je nach Layout kann sich dieser vom selbst verkleinern, selbst wenn dann nicht mehr alles anzuzeigende reinpasst,
ohne komplettes Testprogramm schwer zu beurteilen wie alle Layoutfragen


----------



## Rol (31. Mrz 2011)

Ich habe es jetzt so lösen können, dass ich:

JFrame Form => darin ein JScrollPane => darin ein JPanel => darin der ganze eingentliche Inhalt des GUI.

Es funktioniert, mich würde aber trotzdem die Meinung eines Profis interessieren, ob dass so "sauber" ist.


----------



## BigBiber89 (31. Mrz 2011)

Normal setzt man die Komponente in den JViewport vielleicht ist das dein Problem sieht dann so aus:


```
JScrollPane pane = new JScrollPane();
JTable table = new JTable();
pane.setViewportView(table);
```

Keine Ahnung ob du das so gemacht hast aber so sollte es normal sein


----------



## SlaterB (31. Mrz 2011)

noch günstiger bei diesem Aufbau wäre aber

```
JTable table = new JTable();
JScrollPane pane = new JScrollPane(table);
```


----------

