Frage

Ich versuche, die Eingabe von JFace TreeViwer zu aktualisieren setInput() Methode regelmäßig verwenden. Ich benutze auch die

viewer.setExpandedElements(expandedElements);
viewer.setExpandedTreePaths(expandedTreePaths);

Methoden, um den Zustand des Baumes zu speichern. Aber nach jedem setInput() rufen die TreeViewer flimmert. Wie kann vermeiden Flackern?

War es hilfreich?

Lösung

Ist der Ist-Eingangswechsel? Wenn nicht, können Sie refresh() stattdessen nennen ... oder idealerweise TreeViewers Hinzufügen / Entfernen / Update-Methoden verwenden, um zu vermeiden, die den gesamten Baum neu zu erstellen.

Sie könnten versuchen, viewer.getTree().setRedraw(false) aufrufen, bevor die Anrufe setExpand und dann viewer.getTree().setRedraw(true) nach.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top