【发布时间】:2011-10-04 23:57:57
【问题描述】:
我有一个使用 JFace TreeViewer 的应用程序。我把它连接到ContentProvider。大多数情况下,它工作得很好。但是,对于某些操作,例如在节点列表中间添加节点或更改应该更改节点标签的值,refresh() 调用不起作用。我试过包括父节点,对标签更新说“真”。没有什么是一直有效的。
我已经看到,如果我关闭可折叠节点并添加然后展开,则会显示添加的节点。但如果它已经展开,则不会显示任何更改。如果我将树信息保存到磁盘并查看,就会进行更改。只是 TreeViewer 刷新不起作用。
我查看了ContentProvider 中的inputChanged 方法,但它只在我的应用执行开始和结束时调用。
有人可以帮忙吗?我已经阅读了所有甚至暗示答案的网页,但没有任何效果。
【问题讨论】:
-
TreeViewer 并非没有错误,因此您可能遇到错误。如果您提供一个简短的代码 sn-p 可以用来重现问题,我可以看到问题所在。
标签: java eclipse swt jface treeviewer