从 eclipse 插件动态更新 TreeViewer

Dynamically update TreeViewer from eclipse plugin

我正在创建一个 eclipse 插件,它需要在域对象更改时动态更新 TreeViewer。

我从 eclipse 站点找到了一篇文章

http://www.eclipse.org/articles/Article-TreeViewer/TreeViewerArticle.htm?PHPSESSID=4d48764999a9cb66a7fd58a954ef2131

本文提到了以下用于注册域对象更改的代码

/** Because the domain model does not have a richer
 * listener model, recursively add this listener
 * to each child box of the given box. */
protected void addListenerTo(MovingBox box) {
    box.addListener(this);
    for (Iterator iterator = box.getBoxes().iterator(); iterator.hasNext();) {
       MovingBox aBox = (MovingBox) iterator.next();
       addListenerTo(aBox);
    }
}

它提到了 MovingBox 的 addListener 方法,在这种情况下它应该是域对象。本文未提供 MovingBox 实现的任何代码示例。我很难理解 addListener 方法的来源?

我在网上搜索了很多,以找到可以在域更改时动态更新的 Treeview 的任何工作示例。不确定我是否在寻找正确的东西。有人可以帮我解决这个问题吗?

此 TreeViewer 示例的所有源代码都可以在文章开头 'Source Code' 部分给出的 link 中找到。

link是http://www.eclipse.org/articles/Article-TreeViewer/cbg.article.treeviewer.zip