Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Eclipse中向现有gui组件添加功能_Java_Eclipse Plugin_Swt_Working Set - Fatal编程技术网

Java 在Eclipse中向现有gui组件添加功能

Java 在Eclipse中向现有gui组件添加功能,java,eclipse-plugin,swt,working-set,Java,Eclipse Plugin,Swt,Working Set,因此,目前我正在开发一个与工作集一起工作的Eclipse插件。这些自定义工作集是通过向导创建的,该向导还创建了一个包含所有必需设置的.properties文件。可以通过eclipse project explorer中的Select working set…>Remove删除这些工作集,但该按钮仅删除工作集本身,而不删除文件 我已经实现了一个可以删除文件的处理程序,但我想问一下是否有任何方法可以将该函数绑定到选择工作集…对话框的“删除”按钮。我已经发现,WorkingSetSelectionDi

因此,目前我正在开发一个与工作集一起工作的Eclipse插件。这些自定义工作集是通过向导创建的,该向导还创建了一个包含所有必需设置的.properties文件。可以通过eclipse project explorer中的
Select working set…>Remove
删除这些工作集,但该按钮仅删除工作集本身,而不删除文件

我已经实现了一个可以删除文件的处理程序,但我想问一下是否有任何方法可以将该函数绑定到
选择工作集…
对话框的“删除”按钮。我已经发现,
WorkingSetSelectionDialog
实现了删除功能,但我有点被卡住了


是否有一个扩展点或类似的地方可以添加该功能?

该对话框上的“删除”按钮仅标记要删除的工作集,在按下“确定”按钮(以便“取消”可以工作)之前,它实际上不会被删除

通过调用工作集管理器完成删除。您可以使用
IWorkingSetManager.addPropertyChangeListener
侦听器侦听管理器所做的工作集更改:

IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();

manager.addPropertyChangeListener(listener);
侦听器实现
IPropertyChangeListener
。事件参数告诉您更改了什么属性。对于删除,属性为
IWorkingSetManager.CHANGE\u WORKING\u SET\u remove

比如:

public void propertyChange(PropertyChangeEvent event)
{
  if (event.getProperty().equals(IWorkingSetManager.CHANGE_WORKING_SET_REMOVE)) {
    IWorkingSet removed = (IWorkingSet)event.getOldValue();

    ...
  }
}

非常感谢,这很有帮助!我可以扩展org.eclipse.ui.startup扩展来添加侦听器,对吗?