0

我正在编写一个 Eclipse RCP 应用程序。我在左边有一个视图,在右边有一个编辑器。视图是一个菜单。单击菜单中的按钮,编辑器应该打开并且视图应该改变。点击后编辑器打开,但视图没有改变。

我是否必须关闭菜单视图并打开一个新的?如果是,如何?

如果我在 page.openEditor(..) 之前写 page.showView(ID_of_my_view_class.ID) 它会在显示的控制台旁边打开一个带有日志的新选项卡。

当前代码:

    public Object execute(ExecutionEvent event) throws ExecutionException {
    this.log.info(this.getClass().getSimpleName() + " called");
    IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
    IWorkbenchPage page = window.getActivePage();
    KuenstlerEditorInput input = new KuenstlerEditorInput(new Kuenstler());
    try {
        page.openEditor(input, KuenstlerEditor.ID);
    } catch (PartInitException e) {
        MessageDialog.openError(window.getShell(), "Error",
                "Editor f¸r K¸nstler konnte nicht geˆffnet werden: "
                        + e.getMessage());
        this.log.error(e);
    }
    return null;
}

当我启动程序时,它看起来像这样:http: //i.imgur.com/KXHAe.png 当我执行 page.showView(the_ID.ID) 命令时,它看起来像这样:http://i.imgur .com/BZ8y1.png

视图应该出现在左侧,而不是带有所有按钮的菜单。

4

2 回答 2

1

使用org.eclipse.ui.perspectives扩展点创建一个透视图,然后提供一个实现,IPerspectiveFactory允许您定义您创建的命名视图的位置。

于 2012-05-07T14:44:20.450 回答
0

创建或获取项目的对象,然后执行以下操作:(仅适用于导航器视图)project.refreshLocal(IResource.DEPTH_INFINITE, null);

于 2012-06-09T11:36:56.643 回答