使用eclipse 做一个rcp应用,其中要用到一棵树。于是自己写了一个 ITreeContentProvider 的实现,
结果就因为这个bug:https://bugs.eclipse.org/bugs/show_bug.cgi?id=9262
一直有问题,那个树就一直无穷无尽的往下展开同样的一个目录。现象就如那个bug里面提到的:
后来的解决办法是Monkey do,参考 TreeNodeContentProvider,在input
的时候使用了一个只有一个值的数组,就搞定了。。。
public Object[] getElements(Object group) {
if ( group instanceof ContactGroup[]) return (Object[]) group;
return new Object[0];
}
groupTree.setInput( new ContactGroup[]{ ContactGroup.getRoot()});
最可恨的是,那个bug最早是 2002年被发现的,期间也有人提出了fix的代码,
不知道什么原因一直没有被解决,大概是因为用树的人少?被我赶上了。
分享到:
相关推荐
### Eclipse开发经典教程:深入解析TreeViewer组件 在Eclipse平台的GUI开发中,`TreeViewer`组件扮演着至关重要的角色,特别是在展示层次结构数据时。`TreeViewer`不仅能够直观地呈现树形结构的数据,还支持丰富的...
在本文中,我们将深入探讨Eclipse IDE中的TreeViewer组件,它是Java SWT(Standard Widget Toolkit)库的一部分,用于创建树形用户界面。通过掌握TreeViewer,您可以有效地构建具有层次结构的数据展示,这对于各种...
`IPipelinedTreeContentProvider`接口的引入解决了这个问题,它允许你在数据流中插入过滤或添加额外的子节点。 在`PackageExplorerContentProvider`的基础上,`JavaNavigatorContentProvider`类不仅继承了对Java...
在IT行业中,RCP(Rich Client Platform)是Eclipse框架的一部分,它提供了一种构建桌面应用程序的强有力方式。"RCP资料 filterTreeViewer"这个标题指的是一个关于如何在RCP应用中实现过滤功能的树视图组件的学习...
8. **树形查看器模型**:树形视图的管理通常涉及一个模型类`TreeViewerModel`,用于表示树的各个节点以及它们之间的关系。该类提供了添加、删除子节点等基本操作,并且可以通过设置节点类型、名称等属性来丰富节点的...
public class TreeContentProvider implements ITreeContentProvider { @Override public Object[] getElements(Object inputElement) { if (inputElement instanceof List) { List<?> list = (List) input...