问题标签 [treeviewer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - SWT 双击展开
我已经在树查看器上实现了双击侦听器,下面是我的示例代码片段。
我现在有一个问题。我从需要双击功能的不同类传递树查看器的对象。因此,除了从不同的类传递树查看器的对象之外,还有一种方法可以使用event.getSource()
它返回发生事件的对象吗?我尝试实施它但徒劳无功。有人可以建议如何进行吗?我不想到处使用树查看器的对象,因为event.getSource()
返回相应的树查看器的对象。
更新
是的,我同意你的观点,但我不想将树查看器作为参数传递。所以我以这种方式实现了它:
我上面的代码有增强吗?我的意思是创建一个对象ITreeSelection
并检查该对象是IStructuredSelection
正确的方法吗?如果不是,检查 instanceof 的正确方法是IStructuredSelection
什么?
java - JFace::TreeViewer::setInput() -> 长时间处理和沙漏光标 - 即使使用 null 作为参数
我正在编写一个 Eclipse-JFace-TreeViewer 并且最近注意到,每次我调用 setInput() 时,UI 线程都会被占用至少 10~30 毫秒,无论设置了什么输入。调用 setInput(null) 时也需要很长时间来处理。
我还做了一个带有虚拟内容提供者的 TreeViewer 的最小实现。问题仍然存在。你可以自己试试。也许它只在我的系统上。查看下面的代码。要刷新查看器,只需单击它。如果你的系统也有问题,光标应该闪烁并显示沙漏图标。
}
eclipse - jface TreeViewer的右键菜单
我想为 TreeViewer 显示一个简单的右键菜单。我找到了一些示例(例如:基于选定节点的 TreeViewer 的上下文菜单 - SWT),但它们的代码似乎相当复杂且冗长。
是否有任何简单的方法可以将右键菜单附加到 TreeViewer?
java - TreeViewer Expand-/Collapse-ToLevel 错误
我有一个 TreeViewer,我试图将其项目展开或折叠一层。我的 TreeViewer 包含具有相同名称的项目。例如:
即使我选择第二个节点 A 展开或折叠,它仍然会展开或折叠第一个节点 A。
我的扩展代码是:
我的崩溃代码是:
我该怎么做才能使 TreeViewer 展开和折叠正确的选定项目?
java - 如何在不触发 selectionChanged() 的情况下为 treeviewer 设置选择?
我正在开发一个 Eclipse RCP 项目。它有几个视图,TreeViewer
我使用selectionChanged()
方法来处理选择事件。但是,有时我需要以编程方式设置选择。为此,在selectionChanged()
方法中,我调用setSelection()
方法TreeViewer
来设置所需的选择。此方法触发selectionChanged()
所有视图的方法,从而导致对selectionChanged()
.
如何从TreeViewer
或StructuredViewer
不触发selectionChanged()
其他视图中选择项目?
java - Java TreeViewer SWT.RIGHT_TO_LEFT
我在一个 Eclipse 插件上工作,它有两个TreeViewer
,其中一个带有参数SWT.RIGHT_TO_LEFT
。这看起来像这样:
如您所见,树结构是从右到左绘制的,这就是我所需要的。但是,这是我的问题,文本也会被反转,但只有当字符串中有特殊字符时。
PID.5.7
被转换为7.5.PID
。这是我创建TreeViewer
文本的方式:
有没有人可以解决这个问题?我希望我的字符串与我在TextLayout
.
编辑:
我添加了提到的
现在我的输出是这样的:
如您所见,它适用于像 PID.7.5 这样的字符串,但如果字符串用空格分隔并且只包含特殊字符,则它的反转。像“MSH.1 |” 变成“|MSH.1”
(删除了 Style2 并在 TextLayout 中仅使用一种样式)
编辑2:
解决方法:
我现在测试我的字符串是否以没有 az、AZ 的“单词”开头,我只需在前面添加一个 StyleColor = WHITE 的“x”。这样,所有值都可以正确显示。
java - 根据字符串的后缀从 TreeViewer 中删除项目(列表项目)
我在 TreeViewer 中有一个 TreeViewer 和一个包含项目列表(字符串)的列表,例如:
子任务一个 \\TreeViewer 中的第一项
子任务二一
子任务三一
子任务四二
子任务四三
我想从 TreeViewer 中删除后缀为“one”的项目并保留其余项目。如何遍历项目并删除名称以字符串“one”结尾的项目?
示例代码:
有人请尽早帮助我,拜托。
在设置树查看器的输入之前,我想遍历列表并仅删除名称以字符串“one”结尾的项目(后缀为“one”的项目)?从列表中删除项目后,我将设置 treeViewer 的输入。
有没有办法删除名称以字符串“one”结尾的项目?我该怎么做呢?我被困在这里,请有人建议如何进行?
提前致谢。
java - java treeviewer 添加元素
基本上我正在使用Java(org.eclipse.jface.viewers.TreeViewer)中的treeviewer。现在我的问题是,我想将一个子元素/项目添加到现有的结中。
首先,我的树看起来像这样:
这些孩子(child1,child2)不是手动添加的,它们是在我拿到树本身之前生成的。
- 我创建树查看器:
viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
我填充了 treeviewer:
viewer.setInput(....elements());
从上面生成状态。viewer.getTree().getItem(0)
返回我的树的正确结 A。
但是我不能在现有的结中添加一个新的孩子。我尝试了以下和其他事情:
TreeItem newItem = new TreeItem(items[0], SWT.NONE); and
viewer.add(items[0], newItem); with a newly created item
viewer.refresh();
从理论上讲,我可以首先操作填充树查看器的arrayList,但我认为这真的很糟糕。
我真的不知道我现在做错了什么。我想这是一个非常愚蠢的问题。如果是这样,那我很抱歉。^^
感谢您的帮助,我感谢您提供的每一个提示。
java - 如何在 Treeviewer 中展开对象?
我正在尝试了解 Java 树视图。我使用以下教程创建了一个 Treeviewer:
http://www.eclipse.org/articles/Article-TreeViewer/TreeViewerArticle.htm
现在我有一个我无法解决的问题:/
我想用另一个对象扩展书籍对象。
例如:
如何将对象添加到对象?
非常感谢你
这是代码:
内容提供商:
这是带有输入的查看器:
我想为例如添加一个对象。CCId 到测试包。
谢谢。
java - Eclipse,在项目资源管理器视图中拥有带有文件属性的 TreeViewer
我正在编写 Eclipse 插件。许多功能之一是创建具有文件属性的树,例如.java文件(如果您在 Eclipse 中单击 .java 文件,您可以看到包含该文件具有哪些类或方法的整个列表)。
我可以用单独的视图创建这棵树,这没问题(我有数据,使用 TreeViewer,一切都很好),但现在我必须在 Project Explorer View 中创建这棵树,我不知道如何。
也许我应该写,因为它不明显。此树不会与 .java 文件一起显示,而是与.txt文件一起显示。
所以阅读这个。我现在所知道的:
- 我应该有org.eclipse.ui.decorators扩展点。这东西我已经有了
- 我的课程应该扩展 LabelProvider 实现 ILightweightLabelDecorator。它已经有了
我也可以访问已经选择的 File 、 Project 、 Folder (通过使用decorate()
方法)。我可以将前缀/后缀添加到已经选择的文件中,将图标添加到文件中但是......
我没有看到任何方法让我有可能将任何属性添加到 file。