Java 在Eclipse RCP中使用拖放功能在视图之间传输项目?

Java 在Eclipse RCP中使用拖放功能在视图之间传输项目?,java,drag-and-drop,eclipse-rcp,transfer,Java,Drag And Drop,Eclipse Rcp,Transfer,我的应用程序中有两个视图。在其中一个视图中,我可以看到一个包含自定义定义元素(如MDocument、MVersion…)的树状结构 我希望能够将MVersion类型的项目从我的视图拖到另一个视图,但我不知道如何声明传输类型或检查所选项目是否为受支持的类型 有什么想法吗?最简单的方法就是使用。向查看器添加拖放支持后 您可以设置拖动到DragSourceListener.dragStart()方法中的ISelection: LocalSelectionTransfer.getTransfer().s

我的应用程序中有两个视图。在其中一个视图中,我可以看到一个包含自定义定义元素(如MDocument、MVersion…)的树状结构

我希望能够将MVersion类型的项目从我的视图拖到另一个视图,但我不知道如何声明传输类型或检查所选项目是否为受支持的类型

有什么想法吗?

最简单的方法就是使用。向查看器添加拖放支持后

您可以设置拖动到
DragSourceListener.dragStart()
方法中的
ISelection

LocalSelectionTransfer.getTransfer().setSelection(selection);
DropTargetListener.drop()
中,检查是否支持该类型并检索所选内容:

if (LocalSelectionTransfer.getTransfer().isSupportedType(event.currentDataType))
    ISelection sel = LocalSelectionTransfer.getTransfer().getSelection();
    ...
你知道吗?