`

RCP CoolBar中添加其他类型的控件

阅读更多
Eclipse RCP:添加工具栏
修改浏览权限 | 删除
在工具栏上添加按钮

(1)启用工具栏
org.eclipsercp.hyperbola/ApplicationWorkbenchWindowAdvisor

public void preWindowOpen() {
    ……
    configurer.setShowCoolBar(true);
    ……
}

(2)添加工具栏按钮
org.eclipsercp.hyperbola/ApplicationActionBarAdvisor

protected void fillCoolBar(ICoolBarManager coolBar) {
    IToolBarManager toolbar1 = new ToolBarManager(coolBar.getStyle());
    coolBar.add(toolbar1);
    toolbar1.add(addContactAction);
    toolbar1.add(new Separator());
    toolbar1.add(addContactAction);

    ToolBarManager toolbar2 = new ToolBarManager(coolBar.getStyle());
    coolBar.add(toolbar2);
    toolbar2.add(addContactAction);
}

ICoolBarManager 上有多个 CoolItem 组,每个 ToolBarManager 可以添加到这些 CoolItem 组上。
运行效果如图:




同时显示图像和文字

ICoolBarManager 接口继承 IContributionManager ,用于管理 IActions 和 IContributionItems。JFace 提供了 ActionContributionItem 类,用于将 Action 加入到 IContributionManager。

org.eclipsercp.hyperbola/ApplicationActionBarAdvisor
protected void fillCoolBar(ICoolBarManager coolBar) {
IToolBarManager toolbar =
      new ToolBarManager(coolBar.getStyle() | SWT.BOTTOM);
coolBar.add(toolbar);

ActionContributionItem addContactCI = new
      ActionContributionItem(addContactAction);
addContactCI.setMode(ActionContributionItem.MODE_FORCE_TEXT);
toolbar.add(addContactCI);

coolBar.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
}

ToolBarManager 的 SWT.BOTTOM 或 SWT.RIGHT 用于控制显示文字的位置,为每个 action 创建 ActionConfigurationItem ,并通过其设置 mode 为 ActionContributionItem.MODE_FORCE_TEXT。

在工具栏上添加其他控件

工具栏上不仅能添加按钮,还可以添加其他 SWT 控件,例如 ComboBox。
JFace 提供了 ControlContribution 类,可以将控件添加到 toolbar 或 coolbar。如果添加自定义控件,需要继承 ControlContribution 并实现 createControl(Composite) 方法,在此方法返回目标控件。

org.eclipsercp.hyperbola/ApplicationActionBarAdvisor
protected void fillCoolBar(ICoolBarManager coolBar) {
IToolBarManager toolbar = new ToolBarManager(coolBar.getStyle());
coolBar.add(toolbar);

IContributionItem comboCI = new ControlContribution() {
    protected Control createControl(Composite parent) {
      Combo c = new Combo(parent, SWT.READ_ONLY);
      c.add("one");
      c.add("two");
      c.add("three");
      return c;
    }
};
toolbar.add(comboCI);
}


参考:
《Eclipse Rich Client Platform Designing, Coding, and Packaging Java Applications》:chapter6、chapter17
分享到:
评论

相关推荐

    RCP弹出日期控件

    RCP弹出日期控件是这种环境中用于用户界面交互的一个重要组件,它提供了一种方便的方式来选择日期,增强了用户体验。 在RCP系统中,弹出式日期控件通常是为了简化用户在日期输入时的操作。这种控件不仅允许用户通过...

    RCP开发,调用ActiveX控件

    在本案例中,"RCP开发,调用ActiveX控件"指的是在RCP应用程序中嵌入和使用ActiveX技术。ActiveX是Microsoft提出的一种组件对象模型,主要用于Windows环境,它能够使开发人员创建和使用小型、可重用的代码片段(控件...

    RCP程序中集成其他插件的配置方法

    本篇文章将深入探讨如何在RCP程序中集成其他插件,以增强应用程序的功能和用户体验。 首先,理解RCP的插件体系结构至关重要。Eclipse RCP是基于插件模型的,每个插件代表了应用中的一个功能模块。通过声明依赖关系...

    rcp的文本编辑器的实例

    在这个实例中,我们将深入探讨如何在RCP环境中实现一个基本的文本编辑器,帮助初学者更好地理解这一过程。 首先,我们需要了解Eclipse RCP的基本结构。RCP应用通常由多个插件组成,每个插件都有特定的功能。在这个...

    RCP中文入门教程.rar

    在“RCP中文入门教程.pdf”中,你可能会学习到如何创建一个新的RCP项目,编写插件,定义扩展点,创建视图和编辑器,以及如何管理和配置用户的首选项。教程还可能涵盖如何调试和打包RCP应用,以及如何利用Eclipse的...

    为RCP程序添加帮助支持

    在RCP程序中添加帮助系统,可以采用Eclipse提供的Help System API。这个API允许开发者构建结构化的帮助内容,包括HTML文档、图片、视频等,形成一个完整的帮助系统。 首先,我们需要理解Eclipse Help System的基本...

    Eclipse RCP中使用第三方包

    使用第三方包在Eclipse RCP中非常简单,只需要将jar文件添加到classpath中,并在Runtime页面中配置classpath,然后我们就可以使用第三方库中的类和方法来实现某些功能。 知识点: 1.Eclipse RCP是什么? 答:...

    在RCP中显示JFreeChart报表

    1. **引入依赖**:首先,你需要将JFreeChart的jar包添加到你的RCP项目类路径中。在描述中提到,这些依赖已经包含在提供的压缩包"RCPJFreeChart"里。如果没有,你可以在JFreeChart官方网站下载最新版本,或者通过...

    RCP-1500中文操作手册.pdf

    索尼公司生产的RCP-1500系列遥控面板(包括RCP-1500、RCP-1501和RCP-1530型号)是用于配置和控制演播室级及广播级摄像机的专业设备。这些设备提供了高级的操作便利性和功能的多样性,使得用户能够高效地进行摄影机的...

    rcp视图中嵌套eclipse使用内部浏览器加载echarts

    eclipse使用内部浏览器加载echarts,过程中可能存在鼠标移动事件不响应,这个是eclipse浏览器中与echarts.js内兼容问题,该问题可通过修改echarts.js解决,如果找不到可以私信我

    RCP,RCP开发

    在RCP中,OSGI作为底层的模块化框架,为RCP提供了动态加载和管理插件的能力。开发者可以通过创建OSGI Bundle来构建RCP插件,这些插件可以在运行时被RCP框架动态加载和卸载。这种结合使得RCP应用具备了高度的灵活性和...

    rcp学习好资料

    这篇文档可能详细阐述了如何在Eclipse RCP应用中集成和使用Active X控件。 3. **使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框 - 海边沫沫 - BlogJava.mht** 这部分可能涵盖了创建和管理用户界面...

    java中RCP中使用JNI

    Java中的RCP(Rich Client Platform)是一种用于构建桌面应用程序的框架,它允许开发者利用Java的强大功能来创建功能丰富的跨平台应用。JNI(Java Native Interface)是Java平台的一部分,它为Java代码提供了与本地...

    Eclipse RCP 软件打包发布方法

    以下是Eclipse RCP软件的打包和发布流程,详细解释了如何创建产品配置、集成JRE、添加闪屏等关键步骤。 1. **新建“产品配置”**:在Eclipse中,你需要通过"File" -> "New" -> "Other" -> "Plug-in Development" ->...

    rcp入门里面包含英文和中文两个版本的

    描述中的"rcp中英文双版 建议读英文版 这样更有助于提高"提示学习者,尽管提供了中文版本,但推荐选择英文版进行学习,因为阅读原文通常可以更准确地理解技术概念,也有利于提升英语水平和技术词汇的理解。...

    Eclipse的RCP开发的入门教程

    "使用Eclipse RCP进行桌面程序开发(四):在Windows中使用Active X控件 .doc"针对Windows平台,介绍了如何集成ActiveX控件到RCP应用中,使开发者可以利用这些现成的组件扩展应用程序的功能。 "使用Eclipse RCP进行...

Global site tag (gtag.js) - Google Analytics