Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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
使用IElementChangedListener获取更改的java文件路径_Java_Eclipse Rcp_Eclipse Plugin - Fatal编程技术网

使用IElementChangedListener获取更改的java文件路径

使用IElementChangedListener获取更改的java文件路径,java,eclipse-rcp,eclipse-plugin,Java,Eclipse Rcp,Eclipse Plugin,我正在使用IElementChangedListener来监听我正在制作的eclipse插件中Java模型的更改 是否有任何方法可以使用此侦听器获取发生更改的java文件的路径,或者我应该尝试其他侦听器 任何建议或链接都将不胜感激。 谢谢在ElementChangedEvent事件中提供的IJavaElementDelta有一个getElement()方法,该方法返回一个IJavaElement IJavaElement有一个getPath()方法,该方法“返回包含此元素的最内层资源的路径” 您

我正在使用
IElementChangedListener
来监听我正在制作的eclipse插件中Java模型的更改

是否有任何方法可以使用此侦听器获取发生更改的java文件的路径,或者我应该尝试其他侦听器

任何建议或链接都将不胜感激。
谢谢在
ElementChangedEvent
事件中提供的
IJavaElementDelta
有一个
getElement()
方法,该方法返回一个
IJavaElement

IJavaElement
有一个
getPath()
方法,该方法“返回包含此元素的最内层资源的路径”

您可能必须查看增量中添加的/受影响的/更改的子项才能获得所有更改。

请尝试以下操作:

elementChangedListener.elementChanged(ElementChangedEvent event) {
    IJavaElementDelta delta = ElementChangedEvent.getDelta();
    int kind = delta.getKind();
    int flags = delta.getFlags();
    // flags -> F_ARCHIVE_CONTENT_CHANGED, F_ADDED_TO_CLASSPATH, F_CLASSPATH_REORDER, F_REMOVED_FROM_CLASSPATH
    if ((delta.getFlags() & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) != 0) {
        // The contents of an archive has changed in some way
    }
}
请参阅