当前位置: 首页 > 知识库问答 >
问题:

在SWT树中查找特定项目

申屠黎昕
2023-03-14

我有一个JFaceTreeviewer(带有底层SWTTree)。
树包含多行和多个级别。

我希望能够找到一个特定的树节点(通过文本标签比较),扩展到它的水平,并选择该项。

主要问题是我无法遍历TreeItems,因为树以LAZY模式加载所有内容。

也许有一个选项可以通过搜索模型直接访问树项?

共有1个答案

蒋高杰
2023-03-14

如果要将树扩展到可能尚未显示的节点,可以使用 TreePath 告诉查看者有关节点的完整路径的信息。像这样:

List<Object> path = new ArrayList<>();

path.add(root element);

... path.add(intermediate elements in tree);

path.add(node element);  

TreePath treePath = new TreePath(path.toArray());

viewer.expandToLevel(treePath, 1);

添加到路径中的“元素”是内容提供者返回的模型对象。

 类似资料:
  • 问题内容: 我可以在Windows中转到regedit,然后转到edit-> find,然后键入要在计算机中找到的密钥(在我的情况下为Maxima),然后找到所需的密钥(为最大值)(在我的情况下为“ HKEY_LOCAL_MACHINE” \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ Ma

  • 在进行jOOQ不可知(无代码生成)迁移时,我遇到了一种情况,需要检查数据库中是否存在约束(唯一的外键),以便完成进一步的操作。 到目前为止,我尝试的是运行drop并尝试捕获异常,但它使事务失败,并停止后续迁移 设置: Spring jOOQ无需代码生成 FlywayDB作为迁移库 Postgres

  • 我有一个带有状态按钮的长表: 我需要找到一个具有btn危险类的未满足按钮,它还有一个相邻的N/a按钮(具有btn材料类),然后单击N/a按钮。 我有点迷失在柏树的所有选项中,比如得到、找到、在里面等等。 我可以找到其中一个按钮,但不确定最好的方法是如何验证它旁边还有一个额外的按钮,并且两个按钮都有预期的类。 我的问题是我需要找到一个按钮,它有一个特定的类,与另一个按钮相邻,它有一个特定的类。Psu

  • 问题内容: 我知道这类问题已经在这里多次发布,例如:Java方式 我在标准树模式的数据量庞大(150K +)( , ,) 问题: 如何获取给定node_id的叶子? 表结构: 数据库: 问题答案: 无法在单个查询中执行此操作。即使有,它也可能效率很低。 我们可以通过存储过程和循环来实现。使用添加的索引,它也应该很快。这使用两个表从输入表(A)中选择节点,并将该节点及其子级插入(B)。然后,它将B交

  • 我有一个清单,必须找到具体的对象。我必须按学生平均价值排序列表,并创建函数来搜索具有第二高价值的学生。如果与其他学生重复,则按函数返回较小的学生。这个任务的另一个要求(要妥善解决)是我不能创建任何对象。下面我留下了我正在使用的类的代码: 现在,我尝试通过对stream进行反向排序来解决这个问题,然后移除stream的第一个值,并比较stream的两个下一个对象并返回正确的一个。我可以使用for循环

  • 我正在做一个SWT项目,但是我将广泛使用来生成BufferedImages。我将以这种方式生成数十万张图像。 问题是,SWT似乎无法显示BuffereImage,并且有自己的类。我知道可以将BuffereImage转换为SWT的映像,但SWT的映像似乎需要手动处理,并且不像Swing的BuffereImage那样具有自动垃圾收集功能。 另外,我认为计算机要不断地从BuffereImage转换为Im