Java 在swt中按下按钮时如何在列表中搜索字符串

Java 在swt中按下按钮时如何在列表中搜索字符串,java,swt,e4,listeners,Java,Swt,E4,Listeners,我已经创建了一个tabfolder并创建了一些选项卡,在选项卡中我有一个包含列表的组合。因此,我有一个文本框,因此当在文本框中键入字符串并按下“查找”按钮时,列表应显示为包含字符串,因此如何才能做到这一点 创建textbox和find按钮的代码如下 public void postConstruct (Composite parentComposite) { parentComposite.setLayout(new GridLayout(1, true));

我已经创建了一个tabfolder并创建了一些选项卡,在选项卡中我有一个包含列表的组合。因此,我有一个文本框,因此当在文本框中键入字符串并按下“查找”按钮时,列表应显示为包含字符串,因此如何才能做到这一点

创建textbox和find按钮的代码如下

public void postConstruct (Composite parentComposite) {
        parentComposite.setLayout(new GridLayout(1, true));

        Composite topComposite = new Composite(parentComposite, SWT.NONE);
        topComposite.setLayout(new GridLayout(2, false));
        topComposite.setLayoutData(new GridData(SWT.FILL, GridData.FILL, true, true));

        Composite bottomComposite = new Composite(parentComposite, SWT.NONE);
        GridData bottomCompositeGD = new GridData(SWT.FILL, SWT.BOTTOM, true, false);
        bottomCompositeGD.heightHint = 100;
        bottomComposite.setLayout(new GridLayout(2, false));
        bottomComposite.setLayoutData(bottomCompositeGD);

        Composite topLeftComposite = new Composite(topComposite, SWT.NONE);
        topLeftComposite.setLayout(new GridLayout(1, false));
        topLeftComposite.setLayoutData(new GridData(SWT.FILL, GridData.FILL, false, true));

        Composite topRightComposite = new Composite(topComposite, SWT.NONE);
        topRightComposite.setLayout(new GridLayout(1, false));
        topRightComposite.setLayoutData(new GridData(SWT.FILL, GridData.FILL, true, true));

                Composite findTCComposite = new Composite(topRightComposite, SWT.NONE);
        findTCComposite.setLayout(new GridLayout(2, true));
        findTCComposite.setLayoutData(new GridData(SWT.FILL, GridData.FILL, true, false));

        txtFindTC = new Text(findTCComposite, SWT.BORDER | SWT.WRAP | SWT.SINGLE);
        txtFindTC.setLayoutData(new GridData(SWT.FILL, GridData.FILL, true, false));


Button btnFindTC = new Button(findTCComposite, SWT.NONE);
        btnFindTC.setLayoutData(new GridData(SWT.BEGINNING, GridData.BEGINNING, false, false));
        btnFindTC.setText("Find TC");

TabFolder tabFolder = new TabFolder(topRightComposite, SWT.NONE);
        tabFolder.setLayoutData(new GridData(SWT.FILL, GridData.FILL, true, true));

        TabItem itemBasicTC = new TabItem(tabFolder, SWT.NONE);
        itemBasicTC.setText("Basic TCs");

        createListViewBasicTc(tabFolder,itemBasicTC);


}



the the tab is created is below
private void createListViewBasicTc(Composite composite,TabItem itemBasicTC){
        final List list = new List(composite, SWT.BORDER);
        itemBasicTC.setControl(list);

        creatingDragSource(list);
        //final java.util.List<String> listSort = new ArrayList<String>();
        //for(int i = 1; i <=10 ; i++)
            list.add("TestCase          
            list.add("Test_)");
            list.add("something");


    }   
public void postConstruct(复合父复合){
setLayout(新的GridLayout(1,true));
复合材料顶部复合材料=新复合材料(父复合材料,SWT.NONE);
setLayout(新的GridLayout(2,false));
setLayoutData(新的GridData(SWT.FILL,GridData.FILL,true,true));
复合底部复合=新复合(父复合,SWT.NONE);
GridData bottomCompositeGD=新的GridData(SWT.FILL、SWT.BOTTOM、true、false);
bottomCompositeGD.heightHint=100;
setLayout(新的GridLayout(2,false));
setLayoutData(bottomCompositeGD);
复合材料topLeftComposite=新复合材料(topComposite,SWT.NONE);
setLayout(新的GridLayout(1,false));
setLayoutData(新的GridData(SWT.FILL,GridData.FILL,false,true));
复合材料topRightComposite=新复合材料(topComposite,SWT.NONE);
setLayout(新的GridLayout(1,false));
setLayoutData(新的GridData(SWT.FILL,GridData.FILL,true,true));
复合材料findTCComposite=新复合材料(topRightComposite,SWT.NONE);
setLayout(新的GridLayout(2,true));
setLayoutData(新的GridData(SWT.FILL,GridData.FILL,true,false));
txtFindTC=新文本(findTCComposite,SWT.BORDER | SWT.WRAP | SWT.SINGLE);
txtFindTC.setLayoutData(新的GridData(SWT.FILL,GridData.FILL,true,false));
按钮btnFindTC=新按钮(findTCComposite,SWT.NONE);
btnFindTC.setLayoutData(新的GridData(SWT.beging,GridData.beging,false,false));
btnFindTC.setText(“查找TC”);
TabFolder TabFolder=新的TabFolder(topRightComposite,SWT.NONE);
tabFolder.setLayoutData(新的GridData(SWT.FILL,GridData.FILL,true,true));
TabItem itemBasicTC=新TabItem(tabFolder,SWT.NONE);
itemBasicTC.setText(“基本TCs”);
createListViewBasicTc(选项卡文件夹,itemBasicTC);
}
创建该选项卡的步骤如下所示
私有void createListViewBasicTc(复合复合,TabItem itemBasicTC){
最终列表=新列表(复合、SWT.边框);
ItemBasict.setControl(列表);
创建DragSource(列表);
//final java.util.List listSort=new ArrayList();

//对于(inti=1;i试试这样的方法

 button.addListener (SWT.Selection,  new Listener()
{


    public void handleEvent(Event e) {
        //This depends on your search criteria
        String search = "A";
        Boolean  found = false;
        for (String str : list) {
            if (str.trim().contains(search)) {
                return true;
            }
        }
        if (!found) {
            return false;
        }
    }

});