最近做产品用到了这一功能,说实话让我头疼了好一会。不过还好,偶然让我发现了解决方法,写在这里。
先看下面一段代码:
java 代码
- IViewPart viewpart = getSite().getPage().findView(View.ID);
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().
- getActivePage().hideView(viewpart);
上面的代码可以让当前活动的 视图隐藏。这会原理也就差不多清楚了把。那具体怎样样其他视图隐藏呢,代码如下:
java 代码
- public void run(IAction action)
- {
- boolean Flag = false;
-
- IWorkbenchWindow[] workbechWindows = PlatformUI.getWorkbench().getWorkbenchWindows();
- for(int i = 0;i
- {
- IWorkbenchPage[] workbechPages = workbechWindows[i].getPages();
- for(int j = 0;j
- {
- IViewPart mapViewPart = workbechPages[j].findView(View.ID);
- if(mapViewPart == null)
- {
- Flag = true;
- }
- }
- if(Flag)
- {
- for(int j = 0;j
- {
- IViewPart[] viewParts = workbechPages[j].getViews();
- for(int k = 0; k
- {
- workbechPages[j].hideView(viewParts[k]);
- }
- }
- }
- }
- }
但经过测试后发现行不通,因为我所在的工程只有一个workbenchWindow,一个workbenchPage.
经过多方查证和实验,总算搞定了,代码如下:
java 代码
- public void run(IAction action) {
- try {
- window.getActivePage().showView(MapView.ID);
- }catch (PartInitException e) {
- e.printStackTrace();
- }
-
- IWorkbenchAction action1 = ActionFactory.MAXIMIZE.create(window);
- action1.run();
- }
这里要说明下showView()函数,如果View没有显示,则显示并置为当前活动的view,如果已经显示了,则只把它置为当前活动的view. ActionFactory.MAXIMIZE.create(window);只对当前活动的view起作用。
分享到:
相关推荐
基于适配器模式的RCP应用属性视图实现,在做RCP或者Eclipse插件开发的朋友可以用到的,关于如何自定义属性栏信息
RCP中使用adapter扩展模型为IPropertySource,达到显示属性视图的目的;详细介绍了各种适配器方式。
用视图显示在GEF编辑器编辑好的图形 在视图里加入GraphicalViewer viewer = new ScrollingGraphicalViewer(); viewer.createControl(parent);
RCP 打开视图的不同实例,并设置不同的值 ,创建一个视图,里面布局用了个tableviewer,通过一个Action,按钮打开该视图,每次打开的视图的内容可设置不同。 说明文档为 ...
eclipse使用内部浏览器加载echarts,过程中可能存在鼠标移动事件不响应,这个是eclipse浏览器中与echarts.js内兼容问题,该问题可通过修改echarts.js解决,如果找不到可以私信我
一个在RCP 的View中显示JFreeChart报表的小例子,所需要用到的Jar包都已经包含在里面 没有分的也可以去我的博客看看,也有相关的代码。
效果图见http://blog.csdn.net/leopardaa521/archive/2010/08/21/5827883.aspx
这就是对RCP实现在线升级的说明,实现导出RCP查品,制作升级网站。
RCP中文入门教程,RCP中文入门教程,RCP中文入门教程,RCP中文入门教程
Eclipse rcp 实现文本内容对比功能,可自己选取对比的文件进行比较
RCP入门: 1.View 2.Editor
应用程序主界面显示之前往往需要做一些初始化处理工作,就是启动时间可能稍微长一些,如果没有任何提示,用户可能会感到困惑,闪屏画面能够较好地解决这个问题。准备一幅24bit色BMP格式的图片,注意图片大小不要超过...
java中RCP中使用JNI
NULL 博文链接:https://sdfx.iteye.com/blog/1885775
RCP&OSGI;
RCP中文入门教程.pdf
有关rcp项目创建,视图创建。 开发插件项目基础
RCP系统使用的弹出式日期控件,可切换上月下月,前一年后一年,可选择年、月