JScrollPane Scrollt nicht?!

Hi,

ich habe folgenden verzweifelnden code:

DefaultListModel model = new DefaultListModel();
JList wort = new JList (model);
JScrollPane jsp1 = new JScrollPane(wort);

JFrame jf = new JFrame();
jf.add(jsp1);

Die Listbox kommt auch, mit Scrollpane, was auch funktioniert.
Wähle ich nun aber Softwareseitig mit wort.setSelectedIndex() ein Listenelement außerhalb des sichtbaren bereiches, so scrollt die Scrollbar nicht automatisch dort hin.
Das selectierte Listenelement ist also außerhalb des sichtbaren Bereiches. wie kann ichs machen, das da auch automatisch hin gescrollt wird?
Ich hab schon so viel rumprobiert und rumgesucht, aber anscheinend hatte das Problem noch niemand, was mich sehr wundert.

Danke vielmals

Hi,

Schau dich mal Richtung JScrollPane.scrollRectToVisible() in
Verbindung mit JTable.getCellRect() um.
Sollte etwa so aussehen (nicht getestet):

myScroll.scrollRectToVisible(myTable.getCellRect(row, column, includeSpacing));

Gruss, Patrick

myScroll.scrollRectToVisible(myTable.getCellRect(row, column,
includeSpacing));

Naja, da es keine Tabelle ist, sondern eine JList, geht es höchtens so:

jscrollpane.scrollRectToVisible(wort.getVisibleRect());

aber das funktioniert auch nicht :cry:

jscrollpane.scrollRectToVisible(wort.getVisibleRect());

Und wie sieht es mit

JList.ensureIndexIsVisible(int index)

aus?

http://java.sun.com/docs/books/tutorial/uiswing/even…

Gruss, Patrick

das is geil, das geht, aber nur wenn ich das nach jeder indexänderung ausführe
danke vielmals

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]