RCP项目_动态打开View

2024-02-11 12:32
文章标签 动态 项目 打开 view rcp

本文主要是介绍RCP项目_动态打开View,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

public class ActionManager {

 /** 打开视图操作 */
 public static IWorkbenchAction createShowViewAction(
   IWorkbenchWindow window, String viewId) {
  if (window == null) {
   throw new IllegalArgumentException();
  }
  /** 获得plugin.xml文件中配置的视图信息 */
  IViewDescriptor desc = window.getWorkbench().getViewRegistry()
    .find(viewId);
  IWorkbenchAction action = new ShowViewAction(window, desc);
  return action;
 }
}

 

public class ShowViewAction extends Action implements IWorkbenchAction {

 private IWorkbenchWindow workbenchWindow;

 private IViewDescriptor desc;
 
 public ShowViewAction(IWorkbenchWindow window, IViewDescriptor desc) {
  super("");
  /** 获得视图的名称 */
  String label = desc.getLabel();
  /** 设置操作的名称 */
  setText(label);
  /** 设置操作的图标为视图的图标 */
  setImageDescriptor(desc.getImageDescriptor());
  /** 设置操作的提示文本 */
  setToolTipText(label);
  setId("ShowView" + desc.getId());
  this.workbenchWindow = window;
  this.desc = desc;
 }

 public void run() {
  /** 获得当前工作区及获得工作页面 */
  IWorkbenchPage page = workbenchWindow.getActivePage();
  /** 如果页面不为null */
  if (page != null) {
   try {
    /** 显示视图 */
    page.showView(desc.getId());
   } catch (PartInitException e) {
    ErrorDialog.openError(workbenchWindow.getShell(), "打开视图错误!", e.getMessage(), e.getStatus());
   }
  }
 }

 public void dispose() {
  workbenchWindow = null;

 }

}

这篇关于RCP项目_动态打开View的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/699781

相关文章

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4