Java 当输入因文件重命名而更改时,在编辑器上更改标题

Java 当输入因文件重命名而更改时,在编辑器上更改标题,java,eclipse,editor,input,file-rename,Java,Eclipse,Editor,Input,File Rename,当文件输入发生更改以反映新文件名时,如何更新Eclipse编辑器的标题栏?例如,当文件被重命名但仍有一个编辑器打开时。到目前为止,我所做的一切都失败了,即使是在遵循使用特殊接口、类等进行此操作的官方指导原则时也是如此。Java编辑器似乎可以很好地做到这一点。如果我更新标题并发布状态更新,它就不会更新。在此之后调用update方法也不会更新编辑器标题。令人困惑 干杯, 克里斯这可能不是你想要的答案,但确实有效 将编辑器转换为WorkbenchPart而不是IWorkbenchPart,并调用set

当文件输入发生更改以反映新文件名时,如何更新Eclipse编辑器的标题栏?例如,当文件被重命名但仍有一个编辑器打开时。到目前为止,我所做的一切都失败了,即使是在遵循使用特殊接口、类等进行此操作的官方指导原则时也是如此。Java编辑器似乎可以很好地做到这一点。如果我更新标题并发布状态更新,它就不会更新。在此之后调用update方法也不会更新编辑器标题。令人困惑

干杯,
克里斯

这可能不是你想要的答案,但确实有效


将编辑器转换为WorkbenchPart而不是IWorkbenchPart,并调用setPartNameString名称。

这可能不是您要寻找的答案,但确实有效


将编辑器转换为WorkbenchPart而不是IWorkbenchPart,然后调用setPartNameString name。

也许,我需要测试一下。不过我相信我早就试过了。这是针对我们产品中的一个长期存在的bug,嗯哼:我以前忘了提到这个。setPartNameString名称是一个受保护的方法,所以我通过反射调用它。方法方法=WorkbenchPart.class.getDeclaredMethodsetPartName,String.class;方法.setAccessibletrue;方法调用部分,名称;是的,但这是我唯一能让它工作的方法。当然,如果您从部件内部访问它,那么您可以直接调用受保护的方法。如果您需要在部件外部访问它,则始终可以覆盖setPartName并将其公开。我需要一个通用的方法来访问它,而不需要特定的子类知识,这就是我使用反射的原因。也许,我需要测试它。不过我相信我早就试过了。这是针对我们产品中的一个长期存在的bug,嗯哼:我以前忘了提到这个。setPartNameString名称是一个受保护的方法,所以我通过反射调用它。方法方法=WorkbenchPart.class.getDeclaredMethodsetPartName,String.class;方法.setAccessibletrue;方法调用部分,名称;是的,但这是我唯一能让它工作的方法。当然,如果您从部件内部访问它,那么您可以直接调用受保护的方法。如果您需要在部件外部访问它,则始终可以覆盖setPartName并将其公开。我需要一种通用的方法来访问它,而不需要特定的子类知识,这就是我使用反射的原因。