Java 如何在CheckboxTableviewer的列标题中放置按钮?当我点击这个按钮时,我希望所有的行都被选中

Java 如何在CheckboxTableviewer的列标题中放置按钮?当我点击这个按钮时,我希望所有的行都被选中,java,swt,jface,tableviewer,Java,Swt,Jface,Tableviewer,如何在CheckboxTableviewer的列标题中放置按钮? 当我点击这个按钮时,我希望所有的行都被选中。我的表有10列 我想在列标题中添加一个按钮 单击该按钮时,我希望选择表中的所有行 这是我的桌子 final CheckboxTableViewer dataTable = CheckboxTableViewer.newCheckList(TableComposite2, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCR

如何在
CheckboxTableviewer
列标题中放置按钮?
当我点击这个按钮时,我希望所有的行都被选中。我的表有10列

  • 我想在列标题中添加一个按钮
  • 单击该按钮时,我希望选择表中的所有行
  • 这是我的桌子

        final CheckboxTableViewer dataTable = CheckboxTableViewer.newCheckList(TableComposite2, SWT.MULTI | SWT.H_SCROLL   
                    | SWT.V_SCROLL | SWT.BORDER |SWT.DM_FILL_BACKGROUND|SWT.FULL_SELECTION);
            dataTable .getTable().setHeaderVisible(true);
            dataTable .getTable().setLinesVisible(true);
            dataTable .setContentProvider(new ArrayContentProvider());
    
    
        //Action Check box
            TableColumn columnCHead=new TableColumn(dataTable .getTable(),SWT.NONE);
            columnCHead.setText("Delete");
    
            columnCHead.setWidth(50);
            // setting column input
            TableViewerColumn columnC=new TableViewerColumn(dataTable ,columnCHead);
            columnC.setLabelProvider(new ColumnLabelProvider()
            {
                public String getText(Object Element)
                {
    
                    return null;
                }
            });
    
            TableColumn columnFS1Head=new TableColumn(dataTable .getTable(),SWT.NONE);
            columnFS1Head.setText("SOURCE DIRECTORY");
            columnFS1Head.setWidth(300);
    
            TableViewerColumn columnFS1=new TableViewerColumn(dataTable ,columnFS1Head);
            columnFS1.setLabelProvider(new ColumnLabelProvider()
            {
                public String getText(Object Element)
                {
                    AgedFileMaster a=(AgedFileMaster)Element;
                    return a.getDIRECTORY_PATH();
                }
    

    在第一列中,我想要那个按钮,而不是文本“删除”。任何人都请帮忙。我是SWT初学者。

    TableColumn
    的行为已经像一个按钮,只需使用
    addSelectionListener
    来监听正在按下的按钮。您无法轻松地将控件添加到列标题中

    要选择所有内容,请调用

    Object [] elements = get all the elements in your data model
    
    dataTable.setSelecton(new StructuredSelection(elements));
    

    “获取数据模型中的所有元素”的确切含义是什么?你能给出示例代码吗?数据模型是你给
    setInput
    方法的数组或列表。