Selection bei TreeViewer ändern mit setSelection

jlagetar

Grünschnabel
Hallo erstmal,

Ich verwende den Standard JFace TreeViewer der eine Dokumentstruktur darstellt die auf dem Filesystem vorhanden ist. Beim Anklicken eines Elementes im Baum wird der SelectionChangedListener gestartet welcher in meiner View dann das Doument anzeigt.

Ich habe jetzt eine Action programmiert, welche per Tastatur ausgelöst werden kann, die das nächste Dokument im Baum anzeigt, wenn ein Dokument anzeigt ist. Ich kann mit der TreeViewer (bzw. in diesem Fall getSelection) .getTree.setSelection zwar die Selection beeinflussen, jedoch wir das nächste Dokument nicht anzeigt sondern nur im Baum markiert. Ich hab aber keine Ahnung wie man das entsprechende Event auslöst um dies zu schaffen. Habs schon mit verschiedenen Varianten probiert, jedoch hat bisher keine so richtig funktioniert.

Wichtig ist, dass ich unbedingt bei der JFace Ebene bleiben will und nicht auf SWT zurückgreifen will (da Ich glaube dass bei SWT der SelectionChangedListener nicht mit einem Event gestartet werden kann). Falls es nur mit SWT geht, kann Ich ja sowieso nichts anderes machen, hab ja keine Wahl :).

Hoffe Ich krieg ein paar gute Tipps,

LG Jozo
 
Zuletzt bearbeitet:
Hab eine Lösung gefunden ohne Events zu verwenden (aber verstehen tu ich es nicht warum die Programmierer von IBM dass so komisch aufgebaut haben)

TreeViewer.getTree().setSelection(TreeViewer.getTree().getItem(x));
TreeViewer.setSelection(TreeViewer.getSelection(), true);
 
Zurück