eclipse rcp 使用页面外部按钮控制页面切换
界面最终效果如下:
由于公司电脑不便安装录屏软件,因此按顺序截图展示了:
由于点击2 所指按钮需要判断是否已经登录系统,如果没有登录系统则需要跳转到登录页。并且箭头2 所指按钮与下方界面是独立分开的,因此,需要先获取到下方界面的实例。
在eclipse rcp中,获取一个视图的实例方法如下:
@NotNull public static IWorkbenchWindow getActiveWorkbenchWindow() { IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); if (window != null) { return window; } IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); if (windows.length > 0) { return windows[0]; } throw new IllegalStateException("No workbench window"); } IWorkbenchPage page = getActiveWorkbenchWindow().getActivePage(); try { SqlInspectionView view = (SqlInspectionView) page.showView(SqlInspectionView.VIEW_ID,null,IWorkbenchPage.VIEW_ACTIVATE); // 这里获取到上图下方界面的实例对象 view.toggleLoginView(); // 拿到实例对象后,就在实例对象内正常切换视图即可 } catch (PartInitException e) { e.printStackTrace(); }
主要思路是,需要先获取到想要的视图的实例对象,获取到这个对象后,就正常切换视图就行了。
参考:
https://stackoverflow.com/questions/23512723/how-to-get-the-view-by-viewid-in-rcp
本文来自博客园,作者:margo,转载请注明原文链接:https://www.cnblogs.com/ZMargo/articles/13229321.html