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

相关文章

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安