问题标签 [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.

0 投票
1 回答
181 浏览

drag-and-drop - 我们如何在 treeviewer 上获取我正在放置的项目

我已经创建了一个 jface treeviewer,并且我正在将元素拖放到 treeviewer 中。所以应该将项目添加到树的子子项上。我怎样才能获得要删除元素的子子名。例如:

因此,当我拖放 1 时,它应该将所选项目设为 1,我们该怎么做。

drop的代码如下

在 addItem 函数中,我编写了将项目添加到选定项目上的树查看器的代码。但是在删除项目时我无法选择项目,所以我们如何在将元素拖放到树中时选择项目。

0 投票
1 回答
93 浏览

eclipse - 何时调用 filter(Viewer,TreePath,Object[]) 方法?

我已经为我的TreeViewer对象创建并添加了一个新过滤器。它工作正常,但我似乎无法理解何时被filter(Viewer,TreePath,Object[])调用。

所以过滤器实际上是一个类的实例,它扩展ViewerFilter并需要实现抽象方法select。在我的例子中,select 总是返回 true,我通过覆盖public Object[] filter(Viewer viewer, Object parent, Object[] elements).

但是,当我尝试覆盖时public Object[] filter(Viewer viewer, TreePath parentPath, Object[] elements),根本不会调用此函数。

这是它的外观:

我需要使用TreePath参数覆盖过滤器方法,以便能够根据指定级别过滤元素。

在文档中我只能找到以下解释:

过滤给定查看器的给定元素。输入数组未修改。此方法的默认实现使用路径中的父级调用 filter(Viewer, Object, Object[])。子类可以覆盖

稍后编辑

最后我找不到任何调用这个函数的方法,所以我实现了一个解决方法:我在我的模型实例上创建了一个包装器,它也有一个“父”字段。每当我将实例插入树中(在我的getChildrengetElements方法中)时,我实际上都会创建包装器的实例并相应地设置父级。

这样,无论何时hasChildren调用,我都可以从当前节点导航到根。

0 投票
1 回答
214 浏览

java - JFace TreeViewer 中的额外列

我有一个奇怪的问题...

通过创建一个只有几列的(Jface)树查看器,我总是再创建一个(emtpy)....

知道为什么吗?

************* 更新

treeViewer 的父级是personsTabFolder:

只是为了强调,我不调用任何 .layout(); 在personsTabFolder上!

_ _

卡斯帕

0 投票
0 回答
308 浏览

java - FilteredTree 抛出 StackOverFlow 异常

FilteredTree在我的 Eclipse 插件视图中使用 a SashForm,如下所示:

现在每当我使用FilteredTree过滤树的内容时 - 它都会抛出一个StackOverFlowError. 我无法弄清楚我的实施有什么问题?

例外 :

0 投票
1 回答
355 浏览

eclipse - 有没有办法在树查看器(Eclipse)中包装文本(不是简单的树)

在上面的代码片段中,添加了监听器,但它根本没有进入 handleEvent 方法。

0 投票
1 回答
993 浏览

eclipse - TreeViewer 颜色行交替

我是 Eclipse SWT 的新手。我正在尝试覆盖treeViewer 的颜色行的getBackground方法。ITableColorProvider我正在尝试使用 row index 着色(index%2 == 0)。它改为为所有行着色。

TreeViewer一次着色一个单元格,而不是行。有关如何实现它的任何指针(treeviewer 的备用行颜色)或代码片段将非常有帮助。

0 投票
2 回答
247 浏览

java - 是否在 ITreeViewerListener 的 treeExpanded() 之前调用 ContentProvider 的 getChildren()?

如果扩展树的特定元素,我想获取数据。

问题是内容提供者似乎getChildren()在 treeExpanded() 方法之前触发,所以NullPointerException每次展开元素时我都会得到一个,因为内容提供者试图使用从未获取的数据。我该如何正确解决这个问题?

0 投票
0 回答
238 浏览

user-interface - SWT黑色背景TreeViewer将展开图标设置为亮灰色

将 SWT TreeViewer 背景设置为黑色时,展开/折叠图标的颜色主题不会相应改变。它的颜色默认仍然是黑色,这使得在黑色背景下很难观察到。如何将图标设置为灰色,如下图所示?

在此处输入图像描述

0 投票
1 回答
1349 浏览

java - 带有组合框和复选框的 SWT TreeViewer

我正在寻找一种方法来在表格/网格的第一列中显示一棵树,其中包含其他三列,一个带有组合框,另一个带有复选框。我一直在尝试使用 TreeViewer 来完成这项工作,但它不太适合我正在寻找的东西。这棵树很好地融合在一起。我使用 EditorSupport 的 Combobox 列,并在 getCellEditor 方法中返回一个 ComboboxCellEditor 但是当您选择该列中的一个单元格时,您只能看到该列中有一个组合框。然后,当您单击单元格外时,所选值将恢复为默认空白。复选框列也是如此,它仅在选中单元格时可见。我正在寻找可以显示组合框列和复选框列始终可见的树的东西。我' 我查看了 TableViewer,但找不到在第一列中强制插入树的方法。我看过 Nebula Grid,但它看起来并不支持组合框。关于如何让其中一个像我正在寻找的那样工作的任何提示,或者我应该查看其他一些树/表/网格。谢谢。

编辑:这是 EditingSupport 类的代码。

0 投票
1 回答
38 浏览

java - CheckboxTreeViewer 在不同分支中具有相同元素的多个实例

CheckboxTreeViewer在不同的分支中有相同元素的多个实例。我的问题是,setSubtreeChecked在不同分支中实现元素时,会检查它们是否位于不同分支中的相同元素下。这是结构:

因此检查 Parent2 下的元素 MidLevel1 将检查 Parent1 下的 MidLevel1 下的所有元素。

同样在此结构下,当使用取消选中树中的所有内容时,在使用获取元素setChecked(element, false)时,并非每个元素都未选中。getCheckedElements