【发布时间】:2012-01-13 19:28:25
【问题描述】:
我想在TreeViewer 中拖放节点以重新排序。我的树中的节点包含IJavaElement 或IFile。
我的问题是,一旦执行了放置事件(=null),我将这些节点值放在拖动事件中的任何尝试都无法访问。显然,您必须使用或创建的 TransferHandles 有问题。
@Override
public void dragSetData(DragSourceEvent event) {
IStructuredSelection selections = treeViewer.getSelections();
IBookmark dragNode = (IBookmark) selections.getFirstElement();
//There is only 1 transfer handle as return
event.dataType = FileTransfer.getInstance().getSupportedTypes()[0];
event.data = dragNode.getValue();//<-- Returns my IFile
它应该以这种方式工作,但没有任何东西到达我的 drop listener。有谁知道我做错了什么?
编辑:
有没有办法将被拖动到拖动事件中的对象的当前实例?我只在我自己的视图中在 Eclipse 中工作以执行此操作。而且我实际上对删除的对象的实例更感兴趣,而不仅仅是节点的值。
【问题讨论】:
标签: java drag-and-drop swt