# Probleme mit JSplitPane, JScrollPane, JTree



## tincup (23. Okt 2008)

Hi hab ein paar seltsame Probleme mit den Scrollbars für einen JTree. Wahrscheinlich eine Lappalie, aber ich komme nicht drauf.

Meine GUI Fenster wird im groben so aufgebaut:


```
// create tree & scroll pane
JTree tree = new JTree(...);
JScrollPane scrollTree = new JScrollPane(tree);
scrollTree.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollTree.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

JComponent right = ... ; // eine andere komponente

JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, 
	true, scrollTree, right);
getContentPane().add(splitPane);
```

Jetzt tritt das Problem auf, dass die Scrollbars des JTree sich nicht korrekt verhalten. Offenbar stimmt da etwas mit der Größe der Tree-Komponente nicht. Zum Beispiel erscheint die horizontale Scrollbar erst "zu spät", d.h. wenn der sichtbare Bereich schon erheblich kleiner als die Breite des JTree ist. Hat jemand eine Idee?

Grüsse,
 tin


----------



## Guest (7. Jan 2009)

Ich habe genau das gleiche Problem, allerdings bei einem JTable.

Hast du mittlerweile eine Lösung gefunden?


----------



## Ebenius (8. Jan 2009)

Gibt's hier nen vollständigen Test-Code, bei dem das Problem auftritt. Vielleicht finde ich ja was.

BTW: Mal lobend erwähnen möchte, dass es offensichtlich Leute gibt, die in einem Forum suchen anstatt nur zu posten! Klasse.

Grüße, Ebenius


----------



## Guest (14. Jan 2009)

Bei mir hat es sich mittlerweile erledigt.

Es lag am TableLayout, was in einem Panel oberhalb des JTable's benutzt wurde.
Durch einen sehr großen Eintrag in einem Feld wurde es weit rechts hinaus über den Rand gezeichnet und dadurch wurde das Panel vergrößert. Vermutlich hat dies auch Auswirkungen auf das darunterliegende JScrollPane und dies brachte erst die ScrollBar zu Tage, wenn man über der Länge des zu groß gewordenen Panels kam. Allerdings gab es auch nie ne Fehlermeldung dazu.

Hoffe das war einigermaßen verständlich. 

mfg Hinterhand


----------

