收藏夹 我有一个用户界面,当我选择一个项目(在一棵树),然后按下按钮“添加”,我得到一个新的编辑器。每个项目我都可以得到一位编辑。 (但全部具有相同的ID) 我的目的是仅关闭item1的编辑器,例如,当我按“保存”时。我能够关闭所有编辑器:getSite()。getWorkbenchWindow()。getActivePage()。closeAllEditors(true); 但不仅仅是我需要关闭的那个。下面的解决方案帮助我:如果按下此编辑器中的按钮,关闭编辑器? (RCP eclipse)
// Creating and opening
MyObject item1 = ... //create item1
// open editor
myInput = new MyEditorInput(item1)
IDE.openEditor(workbenchPage, myInput, MY_EDITOR_ID);
// Closing
tmpInput = new MyEditorInput(item1)
IEditorReference[] editorReferences = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage()
.getEditorReferences();
List<IEditorReference> relevantEditors = new ArrayList<IEditorReference>();
for (IEditorReference iEditorReference : editorReferences) {
if (iEditorReference.getEditorInput().equals(tmpInput)) {
relevantEditors.add(iEditorReference);
}
}
PlatformUI
.getWorkbench()
.getActiveWorkbenchWindow()
.getActivePage()
.closeEditors(
(IEditorReference[]) relevantEditors.toArray(new IEditorReference[relevantEditors
.size()]), true);
......但我仍然有一些问题......至于我可以同时打开许多编辑,和他们都具有相同的按钮“保存”,它发生我在编辑器1中按“保存”,但关闭编辑器3 ...其实,我保存最后一个编辑器是开放的(感谢它的“项目”)...这是问题..所以我想知道是否有一种方法以确定按钮存在的编辑器,以便我将其关闭.. 非常感谢我的任何帮助或提示(对不起,如果我的问题看起来很简单,不值得被问及,但我仍然是初学者... )
我希望我的回答是usefull..thanks兄弟... –