微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Jface Treeviewer 中实现搜索功能

如何解决在 Jface Treeviewer 中实现搜索功能

我正在尝试在 Jface Treeviewer 中实现搜索功能,我尝试使用 SearchableTreeViewer 但它没有帮助,我想突出显示包含相应文本的所有列

    public void searchTree(String searchtext) {
    
    viewer.collapseAll();
    final int itemCount = viewer.getTree().getItemCount();
    for (int itemIndex = 0; itemIndex < itemCount; itemIndex++) {
        TreeItem item = viewer.getTree().getItem(itemIndex);
            if (item.getData().toString().toupperCase().contains(searchtext.toupperCase())) {
                viewer.expandToLevel(item.getData(),TreeViewer.ALL_LEVELS);
                item.setForeground(new Color(display.getCurrent(),255,0));         
            }
            else {
                item.setForeground(new Color(display.getCurrent(),0));   
            }
        }
    } 

enter image description here

在这里我可以突出显示父行,但我想要实现的是突出显示确切的列(符号名称

有什么想法可以突出显示子节点特定的列吗?

解决方法

尝试在设置前景色之前对该子项执行 tree.setSelection。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。