我目前正在使用tableviewer上的选择更改来获取选择。

public void selectionChanged(SelectionChangedEvent event) {
    IStructuredSelection selection = (IStructuredSelection)event.getSelection();
                Row rowData = (Row) selection.getFirstElement();
            item=rowData.item
}


我要在鼠标双击上选择所选项目:

public void mouseDoubleClick(org.eclipse.swt.events.MouseEvent e) {
IStructuredSelection selection = (IStructuredSelection)table.getSelection()[0];
                Row rowData = (Row) selection.getFirstElement();
}


但这是行不通的,我每次都为空。我该怎么办才能通过鼠标双击获得这些信息?

最佳答案

使用IDoubleClickListener处理TableViewer(或TreeViewer)的双击事件。

viewer.addDoubleClickListener(new IDoubleClickListener() {
    @Override
    public void doubleClick(DoubleClickEvent event) {
        IStructuredSelection selection = (IStructuredSelection)event.getSelection();
    }
});

07-24 20:30