隐藏空父项 - JFace 的 TreeViewer

2024-01-07

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

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

Example:
Screen shot - empty parents aren't hided
As you can see, there's only one item that matches the filter: "General/Map/New". But all of the parents are now shown although that they actually doesn't contain any children.

我的过滤器的部分代码:

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

return false;

正如你在上面看到的,我允许所有孩子的父母。但也许有某种自动的方式来隐藏空父母?

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

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

问候。


看看这个。它可能对您有帮助:Vogella 博客:我喜欢过滤树 (Eclipse FilteredTree) http://blog.vogella.com/2009/06/24/eclipse-filteredtree/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

隐藏空父项 - JFace 的 TreeViewer 的相关文章

随机推荐

  • ForkJoinPool - 为什么程序抛出 OutOfMemoryError?

    我想在 Java 8 中尝试 ForkJoinPool 所以我编写了一个小程序来搜索给定目录中名称包含特定关键字的所有文件 Program public class DirectoryService public static void m
  • C# 将字节数组附加到现有文件

    我想将字节数组附加到已经存在的文件中 C test exe 假设以下字节数组 byte appendMe new byte 1000 File AppendAllBytes C test exe appendMe Something lik
  • 嵌套 jQuery 选择器

    无论如何 是否有嵌套的 jQuery 选择器 例如 如果该页面还有一个ID LeadEditForm Title 某处然后执行以下操作 jQuery id A0 R0 Main Phone Number live mousedown fun
  • 在 Android 中使用 EditText 小部件屏蔽输入

    有没有办法可以为 Android 中的 EditText 控件指定输入掩码 我希望能够为社会安全号码指定类似 的内容 这将导致任何无效输入被自动拒绝 例如 我输入字母字符而不是数字 我意识到我可以添加 OnKeyListener 并手动检查
  • 如何检测用户是否不允许位置更新

    如果用户在首次启动时拒绝允许位置更新 我怎么能检测到这个 检查CLLocationManager 的authorizationStatus 方法
  • Environment.getExternalStorageDirectory().listFiles() 返回 null

    我的应用程序中需要一个文件选择器 在尝试了不起作用的第三方库 无内容 后 我尝试自己实现它 并且得到了相同的结果 最奇怪的是 Environment getExternalStorageDirectory listFiles 返回空值 这是
  • 如何让 Pycharm 从测试文件夹递归运行所有 python 单元测试

    我来自 Java 背景 因此我将单元测试组织成单独的并行测试层次结构 以反映我的主项目的结构 我使用 PyCharm 代替 Intellij 或 Eclipse 在这两个 I IDE 中 我可以选择任何正在测试的包 并在此命名空间下递归运行
  • 如何获取 HTML5 画布文本来显示 html 实体?

    我正在解析一个 xml 文件 该文件存储我需要在画布上显示的图像 标题数据 然而 偶尔文件中会有一个实体 当将文本绘制到画布上时 它会将其解释为平面文本 我怎样才能得到 copy 在画布上显示为 这是否可能 或者有人知道一个好的解决方法吗
  • Nhibernate Linq 查询到 QueryOver

    我有以下代码 1 ids GetAnArrayOfIds 2 jobEntities jobEntities Where j gt j Locations Select l gt l Id Any ids Contains 如何使用 Que
  • std::allocate_shared 使用什么类型来分配内存?

    From https en cppreference com w cpp memory shared ptr allocate shared https en cppreference com w cpp memory shared ptr
  • 从 Http Servlet 请求标头读取浏览器/客户端时间

    当向 servlet 发出请求时是否可以读取浏览器 客户端计算机 时间 我不相信是这样 不幸的是HTTPDate http www w3 org Protocols rfc2616 rfc2616 sec14 html sec14 18标头
  • R 中的成对交互矩阵

    我正在尝试计算 R 中的成对矩阵 该矩阵计算个体与其他个体交互的次数 因此该矩阵将包含与个体数量相对应的 N 行和列 我有一个数据框 在单独的列中列出 演员 和 合作伙伴 nn lt data frame actors c DOL DOL
  • 为什么建议 React 的 PureComponent 所有子组件都“纯”

    看完官方的介绍反应文档 https reactjs org docs 我遇到过this https reactjs org docs react api html reactpurecomponent关于纯组件 此外 React PureC
  • Visual Studio 生产力电动工具配置设置

    我试图找出 Visual Studio Productivity Power Tools 设置的存储位置 我最近转移到 Visual Studio 的新实例 并且丢失了所有 Power Tools 正则表达式选项卡着色设置 它们显然不是正常
  • R 的plot() 中的默认字体是什么?

    我无法找出默认字体是什么plot R 中的选项是 我记得在某个地方黑体但我找不到任何消息来源来证实这个想法 有谁知道默认字体是什么plot 选项是以及如何更改字体 我知道有family选项 但字体的选择非常有限 我也知道有一个family下
  • 在 Pandas 中合并索引上的数据帧效率更高

    为什么在索引上合并 Pandas 中的数据帧比在列上合并数据帧更有效 更快 import pandas as pd Dataframes share the ID column df pd DataFrame ID 0 1 2 3 4 Jo
  • 为什么嵌套路由(react-router)不能与 nginx 容器 docker build 一起使用

    我想将我的项目部署到生产中 不幸的是我有一个搅拌机问题react router嵌套路由器方法 我已经尝试解决这个问题 3 小时了 但我能弄清楚 我不完全擅长 docker 和 nginx 配置 当我在开发中运行该项目时 它工作正常 甚至在正
  • 如何在asp.net core中的ajax中加载部分视图

    当我通过 ajax 更改分页时 我想加载每行的部分视图 我的部分负责表中每一行的按钮 我有如下的部分视图 model Guid td style width 150px div class btn group a class btn btn
  • Xcode 7.0.1 与 CocoaPods 应用程序编译错误退出代码 1

    我最近升级到最新的 Xcode 添加了一堆新代码并修复了所有正常的编译错误后 出现了以下错误 PhaseScriptExecution Copy Pods Resources Users dpreston10 Library Develop
  • 隐藏空父项 - JFace 的 TreeViewer

    我正在 JFace 中创建一个树查看器 我想实现一些目标 我在里面使用过滤器 过滤器效果很好 但并不完美 当我使用filter expandAll 方法中 过滤器过滤了树中的所有项目 但有一些事情确实很烦人 尽管它过滤了树的所有项目 但它不