2012-07-11 100 views
0

在我的插件中,我使用JFace TreeViewer在树中显示数据。树默认情况下不扩展,只有在点击+时才会展开到级别。不过,我需要在树的整个项目上执行搜索(用户输入的文本),而不仅仅是显示的项目。我明白所有的孩子级别的项目只有在点击+后才被加载。是否有方法可以检索树的所有项目,而不仅仅是显示的项目。在JFace TreeViewer中搜索

回答

2

在树中搜索通常是使用FilteredTree类实现的,该类为您提供了一个树上方的文本框来放置查询。 FilteredTree类然后管理过滤操作。您可以在首选项对话框中看到它的作用。

即使这不太符合您的要求,您也可以引用FilteredTree来源来帮助您实现自己的搜索工具。

+0

谢谢。我会考虑FilteredTree。但我认为FilteredTree会隐藏所有与搜索不匹配的重新生成的元素。也许调整FilteredTree并有自己的执行它可以帮助我的搜索 – user1519234 2012-07-12 15:28:48

+0

正确。过滤后的树会删除与您的过滤器/查询不匹配的项目,这是向您展示您在大型树中搜索的相当好的方法。在首选项对话框中进行调整以获得它的感觉。 – 2012-07-12 15:36:32

相关问题