在Eclipse插件开发中,要实现拖拽,那么下面两个类是必须被继承的,ViewerDropAdapter、DragSourceAdapter,
但是这两个类中的方法,都需要进行特殊设置才能够正确执行,我搞了一些时候才搞定,拿出来给大家分享
DragSourceAdapter
public void dragStart(DragSourceEvent event)
此方法是拖拽操作的启动方法,必须在方法体中书写以下代码,该拖拽才能启动
event.doit = true;
public void dragSetData(DragSourceEvent event)
此方法是拖拽验证成功后,在这里设置拖拽数据,至少以下两行代码才能正确进行到下一步
event.data = "拖动数据";
event.doit = true;
public void dragFinished(DragSourceEvent event)
此方法是拖拽完毕后的操作,这里没有必须代码
ViewerDropAdapter
public boolean performDrop(Object data)
此方法是拖拽验证完毕后执行操作,必须返回true/false
public boolean validateDrop(Object target, int operation, TransferData transferType)
此方法是拖拽验证,必须返回true/false
整个执行顺序是dragStart --> validateDrop --> dragSetData --> performDrop --> dragFinished