如何通过 TreeViewer 的提供者为 SWT 树中的每个标签添加 mouseDoubleClick 事件?

Posted

技术标签:

【中文标题】如何通过 TreeViewer 的提供者为 SWT 树中的每个标签添加 mouseDoubleClick 事件?【英文标题】:How to add mouseDoubleClick event for each label in SWT Tree via TreeViewer's providers? 【发布时间】:2014-04-11 17:52:15 【问题描述】:

我在 TreeViewer 的帮助下生成了一棵树。当用户用鼠标双击它时,我需要将此树中的项目添加到另一个组件。我想必须为树中的每个标签添加 mouseListener 。但我想知道如何通过 TreeViever 的提供程序添加 mouseDoubleClick 事件侦听器。我已经实现了内容和标签提供程序,但没有看到任何可用于获取生成的标签的接口。

【问题讨论】:

【参考方案1】:

您使用addDoubleClickListener 方法向TreeViewer 添加一个双击监听器。参数是实现IDoubleClickListener的类:

treeViewer.addDoubleClickListener(new IDoubleClickListener() 
    @Override
    public void doubleClick(final DoubleClickEvent event)
    
      final IStructuredSelection selection = (IStructuredSelection)event.getSelection();

       // TODO deal with the selection
        
);

DoubleClickEvent 参数包含有关树中选定对象的信息。

【讨论】:

以上是关于如何通过 TreeViewer 的提供者为 SWT 树中的每个标签添加 mouseDoubleClick 事件?的主要内容,如果未能解决你的问题,请参考以下文章

SWT/JFace问题:如何在单元格中只显示图片

怎样使用Jface中的TreeViewer添加一个新的节点并反映到模型当中

为啥我不能将文件从 Windows 中的 CD 拖放到 Eclipse / SWT Drop Target

如何显示swt文本框的悬停文本

如何显示 swt 文本框的悬停文本

转:Eclipse插件开发之TreeViewer