Java 添加拖动&;在Eclipse视图上放置侦听器
我目前正在开发一个RCP插件,试图在Eclipse的PackageExplorer视图中添加一个DragAndDrop侦听器。 我所有的尝试都失败了,原因有几个:Java 添加拖动&;在Eclipse视图上放置侦听器,java,eclipse,plugins,listener,Java,Eclipse,Plugins,Listener,我目前正在开发一个RCP插件,试图在Eclipse的PackageExplorer视图中添加一个DragAndDrop侦听器。 我所有的尝试都失败了,原因有几个: 我无法从我的工作区获得TreeViewer(我认为这是我需要的) 我可以获得“视图”,但不能在其上添加D&D侦听器 我的主要目的是能够知道用户何时将文件移动到另一个文件夹中,并获取由包资源管理器触发的拖放事件的源/目标文件夹 以下是我迄今为止尝试过的一个例子: for (IViewPart v : PlatformUI.get
for (IViewPart v : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViews()) {
if (v.getTitle().equals("Project Explorer")){
System.out.println("##Found PE");
//Add listener here ?
}
}
此代码显示“Found PE”字符串,但不允许添加侦听器
精度:此代码在继承自AbstrachHandler的类中运行,而不是在UI线程中运行。如果你认为有必要的话,我会考虑移动代码。
感谢阅读。使用重构参与者可能会更好,因为重构参与者为您提供了大量有关各地所做更改的信息。请参阅
org.eclipse.ltk.core.refactoring.renameParticipants
,org.eclipse.ltk.core.refactoring.copyParticipants
,org.eclipse.ltk.core.refactoring.deleteAmpendents
和org.eclipse.ltk.core.refactoring.moveAttendents
扩展点。在过去的两个小时里,我搜索了参与者是什么以及我应该如何使用他们,但我应该承认,我并不真正了解整个事情。特别是关于我必须提供的参数/参数类型,例如,对于扩展重构修改的类