问题描述
我正在尝试在 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));
}
}
}
在这里我可以突出显示父行,但我想要实现的是突出显示确切的列(符号名称)
有什么想法可以突出显示子节点特定的列吗?
解决方法
尝试在设置前景色之前对该子项执行 tree.setSelection。