Java TreeViewer上的ViewerFilter

Java TreeViewer上的ViewerFilter,java,swt,jface,treeviewer,Java,Swt,Jface,Treeviewer,我有一个有四个树柱的JFace TreeViewer。我在树中添加了一个ViewerFilter类,并通过搜索文本进行过滤。问题是,它只是过滤TreeParent,而不处理TreeChildren 例如: A A1 A2 A2.1 A2.2 B C searchtext=“A”的结果只有一个,没有子项 searchtext=“A1”的结果为空 searchtext=“A2.1”的结果也为空 我的代码: @覆盖 公共布尔选择(查看器、对象父元素、对象元素){ 布尔结果=真; if

我有一个有四个树柱的JFace TreeViewer。我在树中添加了一个ViewerFilter类,并通过搜索文本进行过滤。问题是,它只是过滤TreeParent,而不处理TreeChildren

例如:

A
 A1
 A2
   A2.1
   A2.2
B
C
searchtext=“A”的结果只有一个,没有子项

searchtext=“A1”的结果为空

searchtext=“A2.1”的结果也为空

我的代码:

@覆盖
公共布尔选择(查看器、对象父元素、对象元素){
布尔结果=真;
if(text!=null&&text.length()>0){
TreeTableObject对象=((TreeTableObject)元素).getChild();
String personText=object.toString().toLowerCase();
System.out.println(“Text:+Text.toLowerCase());
System.out.println(“过滤文本:“+personText”);
结果=perContext.indexOf(text.toLowerCase())!=-1;
}
返回结果;
}

为什么要调用'element.getChild'?在
TreeTableObject
类中调用我的Override
toString