Java 避免在Eclipse RCP中没有未保存的更改时关闭编辑器

Java 避免在Eclipse RCP中没有未保存的更改时关闭编辑器,java,eclipse,eclipse-rcp,rcp,Java,Eclipse,Eclipse Rcp,Rcp,即使没有未保存的更改,是否仍可以阻止编辑器关闭 每当有一些未保存的更改时,使用ISaveablePart界面可以在编辑器关闭之前捕获事件-但我正在寻找一种方法,在编辑器关闭之前捕获事件,即使没有未保存的更改 一种可能的方法是在ISaveablePart实现中维护两个“脏”标志,一个是让Eclipse保存框架认为编辑器脏,并调用钩子阻止编辑器关闭 为了避免Eclipse错误地显示关于您的编辑器有未保存更改的消息,您可能需要实际实现ISaveablePart2()并实现promptosaveoncl

即使没有未保存的更改,是否仍可以阻止编辑器关闭


每当有一些未保存的更改时,使用
ISaveablePart
界面可以在编辑器关闭之前捕获事件-但我正在寻找一种方法,在编辑器关闭之前捕获事件,即使没有未保存的更改

一种可能的方法是在
ISaveablePart
实现中维护两个“脏”标志,一个是让Eclipse保存框架认为编辑器脏,并调用钩子阻止编辑器关闭

为了避免Eclipse错误地显示关于您的编辑器有未保存更改的消息,您可能需要实际实现
ISaveablePart2
()并实现
promptosaveonclose()
——这样可以检查编辑器是否真的脏了,在这种情况下只提示保存(或其他任何您想要的)

但是,您可能需要重新检查希望编辑器保持打开状态的根本原因-框架通常不是这样工作的(因此问题可能会悄悄出现),对于真正希望关闭编辑器(并确定您的应用程序存在缺陷)的用户来说,这似乎是一种令人困惑的体验