gpt4 book ai didi

java - 在 FilteredTree 中搜索 "hidden Data"

转载 作者:行者123 更新时间:2023-12-01 14:32:19 25 4
gpt4 key购买 nike

我如何在 Filtered-TreeView 中搜索“隐藏”数据。到目前为止,我只能搜索 TreeItem 的名称并过滤它们。现在我想搜索存储在 TreeObjects 中的数据。我应该在哪里附加我想要搜索的字符串?

我尝试变得更详细:

我有一个:

    class TreeObject implements IAdaptable {
protected String name;
protected String Data;
private TreeParent parent; ....

现在我想搜索它

    protected String Data;

我怎样才能访问: -TreeObject -过滤 TreeView 的文本字段文本

在这里您可以看到可以覆盖的方法的图片: No SELECT Functiobn here

这是我使用另一种过滤器类型时得到的结果:

This is what I get

最佳答案

您必须覆盖 ViewerFilterselect 方法您在 FilteredTree 中设置的。来自 select 的 Javadoc:

Returns whether the given element makes it through this filter.

因此,在您的实现中,您可以检查对象的字段并决定是否应将其过滤掉。

示例(不知道是否可以编译)

    TreeViewer viewer = filteredTree.getViewer();
viewer.addFilter(new ViewerFilter() {

@Override
public boolean select(Viewer viewer, Object parentElement, Object element) {
if (element instanceof TreeObject && filterString != null && !filterString.isEmpty()) {
TreeObject obj = (TreeObject) element;
String data = obj.getData().toLowerCase(); // Your Data field!
return data.startsWith(filterString.toLowerCase());
}
return true;
}
});

关于java - 在 FilteredTree 中搜索 "hidden Data",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16767590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com