# JScrollPane soll automatisch scrollen



## Master of Disaster (20. Aug 2005)

Hallo,

ich habe ein JScrollPane und darin eine JTextArea. Wenn an die JTextArea nun per append() eine neue Zeile angehängt wird, soll das ScrollPane automatisch nach unten scrollen. Wie geht das?

Danke!

Master o.D.


----------



## Beni (21. Aug 2005)

Ich würde dem Document der TextArea einen DocumentListener hinzufügen, und wenn sich das Document verändert bei der ScrollPane die "vertical" ScrollBar abrufen, und ihren Wert auf das Maximum setzen.

Ungefähr so:

```
textarea.getDocument().addDocumentListener(){
  public void ...(DocumentEvent x ){
     JScrollBar bar = scrollpane.getVerticalScrollBar();
     bar.setValue( bar.getMaximum() );
  }
});
```


----------



## Master of Disaster (21. Aug 2005)

Ich habs jetzt mal ausprobiert: wenn ich selbst was eingebe, wird die Länge der verticalScrollbar geupdatet, wenn ich was per append anhänge nicht.

edit: Gibt es eine Möglichkeit, die Scrollbar oder das Scrollpane zu einem Update aufzufordern?


----------



## Jörg (15. Sep 2005)

hm ich hatte da immer diesen Workaround:


```
textarea.setCaretPosition(textarea.getText().length());
```


----------



## thE_29 (15. Sep 2005)

me too 

Nur, geht das halt nur bei einer TextArea, hast du ne JList drinnen oder so, musst du das obige neben


----------



## TRunKX (16. Sep 2005)

...hmm dann schreibe man sich ein Selbstscrollende JList like me! einfach ne klasse 
erstellen und entsprechne methoden überschreiben! (Sourcen der alten beibehalten + das was man braucht und man hat) ne Klasse selfScrollingJlist *g*


----------

