gpt4 book ai didi

java - 隐藏空父项 - JFace 的 TreeViewer

转载 作者:行者123 更新时间:2023-12-02 09:06:05 26 4
gpt4 key购买 nike

我正在 JFace 中创建一个树查看器,并且我想要实现一些目标。

我在里面使用了过滤器。过滤器效果很好,但并不完美。当我使用 filter.expandAll() 方法时,过滤器会过滤树的所有项目,但有一些非常烦人的事情。尽管它过滤了树的所有项目,但它不会隐藏项目父项,这些项现在变为空。

示例:
Screen shot - empty parents aren't hided
正如您所看到的,只有一项与过滤器匹配:“常规/ map /新建”。但现在所有的 parent 都显示出来了,尽管他们实际上不包含任何 child 。

我的过滤器的部分代码:

if (element instanceof HotkeyCategory) {
return true;
} else if (element instanceof HotkeyItem) {
return ((HotkeyItem) element).getLabel().toLowerCase()
.matches(searchString.toLowerCase());
}

return false;

正如您在上面看到的,我允许所有 child 的 parent 。但也许有某种自动的方式来隐藏空 parent ?

我有一些想法。在将其重定向到树查看器之前进行过滤,并使用允许的项目及其父级创建 ArrayList 或添加 boolean show; 到每个项目和每个父级并通过过滤器返回它,但这些方法都不能让我满意。恕我直言,对于这项任务来说,它们有点太复杂了。

所以,我的问题是:有什么简单的方法可以实现我想要的吗?

问候。

最佳答案

看看这个。它可能对您有帮助: Vogella Blog: I like my trees filtered (Eclipse FilteredTree)

关于java - 隐藏空父项 - JFace 的 TreeViewer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16985470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com