问题标签 [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.
drag-and-drop - 我们如何在 treeviewer 上获取我正在放置的项目
我已经创建了一个 jface treeviewer,并且我正在将元素拖放到 treeviewer 中。所以应该将项目添加到树的子子项上。我怎样才能获得要删除元素的子子名。例如:
因此,当我拖放 1 时,它应该将所选项目设为 1,我们该怎么做。
drop的代码如下
在 addItem 函数中,我编写了将项目添加到选定项目上的树查看器的代码。但是在删除项目时我无法选择项目,所以我们如何在将元素拖放到树中时选择项目。
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[])。子类可以覆盖
稍后编辑
最后我找不到任何调用这个函数的方法,所以我实现了一个解决方法:我在我的模型实例上创建了一个包装器,它也有一个“父”字段。每当我将实例插入树中(在我的getChildren
和getElements
方法中)时,我实际上都会创建包装器的实例并相应地设置父级。
这样,无论何时hasChildren
调用,我都可以从当前节点导航到根。
java - JFace TreeViewer 中的额外列
我有一个奇怪的问题...
通过创建一个只有几列的(Jface)树查看器,我总是再创建一个(emtpy)....
知道为什么吗?
************* 更新
treeViewer 的父级是personsTabFolder:
只是为了强调,我不调用任何 .layout(); 在personsTabFolder上!
_ _
卡斯帕
java - FilteredTree 抛出 StackOverFlow 异常
我FilteredTree
在我的 Eclipse 插件视图中使用 a SashForm
,如下所示:
现在每当我使用FilteredTree
过滤树的内容时 - 它都会抛出一个StackOverFlowError
. 我无法弄清楚我的实施有什么问题?
例外 :
eclipse - 有没有办法在树查看器(Eclipse)中包装文本(不是简单的树)
在上面的代码片段中,添加了监听器,但它根本没有进入 handleEvent 方法。
eclipse - TreeViewer 颜色行交替
我是 Eclipse SWT 的新手。我正在尝试覆盖treeViewer 的颜色行的getBackground
方法。ITableColorProvider
我正在尝试使用 row index 着色(index%2 == 0)
。它改为为所有行着色。
TreeViewer
一次着色一个单元格,而不是行。有关如何实现它的任何指针(treeviewer 的备用行颜色)或代码片段将非常有帮助。
java - 是否在 ITreeViewerListener 的 treeExpanded() 之前调用 ContentProvider 的 getChildren()?
如果扩展树的特定元素,我想获取数据。
问题是内容提供者似乎getChildren()
在 treeExpanded() 方法之前触发,所以NullPointerException
每次展开元素时我都会得到一个,因为内容提供者试图使用从未获取的数据。我该如何正确解决这个问题?
java - 带有组合框和复选框的 SWT TreeViewer
我正在寻找一种方法来在表格/网格的第一列中显示一棵树,其中包含其他三列,一个带有组合框,另一个带有复选框。我一直在尝试使用 TreeViewer 来完成这项工作,但它不太适合我正在寻找的东西。这棵树很好地融合在一起。我使用 EditorSupport 的 Combobox 列,并在 getCellEditor 方法中返回一个 ComboboxCellEditor 但是当您选择该列中的一个单元格时,您只能看到该列中有一个组合框。然后,当您单击单元格外时,所选值将恢复为默认空白。复选框列也是如此,它仅在选中单元格时可见。我正在寻找可以显示组合框列和复选框列始终可见的树的东西。我' 我查看了 TableViewer,但找不到在第一列中强制插入树的方法。我看过 Nebula Grid,但它看起来并不支持组合框。关于如何让其中一个像我正在寻找的那样工作的任何提示,或者我应该查看其他一些树/表/网格。谢谢。
编辑:这是 EditingSupport 类的代码。
java - CheckboxTreeViewer 在不同分支中具有相同元素的多个实例
我CheckboxTreeViewer
在不同的分支中有相同元素的多个实例。我的问题是,setSubtreeChecked
在不同分支中实现元素时,会检查它们是否位于不同分支中的相同元素下。这是结构:
因此检查 Parent2 下的元素 MidLevel1 将检查 Parent1 下的 MidLevel1 下的所有元素。
同样在此结构下,当使用取消选中树中的所有内容时,在使用获取元素setChecked(element, false)
时,并非每个元素都未选中。getCheckedElements