`
flyingbug
  • 浏览: 130230 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个SWT Application如何转职成为RCP Appliactioin

阅读更多

昨天david问到如何将旧的swt应用转成一个RCP应用,昨晚胃疼难忍,于是草草说了一下,就早早上床休息了,早上起来又想起这件事情,遂在这里说一下思路
下面说一下我的思路
(注:以下观点未经证实,请自行斟酌使用)

一个旧的SWT应用,应该都是有一个main函数里初始化一些UI组件,然后run一个事件循环

在RCP中,由于是基于Eclipse的插件体系,也就是说,使用我前面那篇文章发布的RCP Application,是可以直接发布成Eclipse插件的
所以,对于UI组件的控制也要遵循Eclipse的插件体系的代码要求,看看Hello RCP模板中的几个类:ApplicationActionBarAdvisor、ApplicationWorkbenchAdvisor、ApplicationWorkbenchWindowAdvisor以及RCPPlugin,想起了什么?对,OSGI

我们只要将原swt的main函数中初始化的ui组件,放入到这几个Advisor中进行初始化

将下拉菜单项的ui组件的初始化工作放入到ApplicationActionBarAdvisor的如下方法:

    protected void makeActions(IWorkbenchWindow window) {
    }



    
protected void fillMenuBar(IMenuManager menuBar) {
    }


将其他UI组件初始化工作放入到ApplicationWorkbenchWindowAdvisor的如下方法:

    public void preWindowOpen() {

        IWorkbenchWindowConfigurer configurer 
= getWindowConfigurer();

        configurer.setInitialSize(
new Point(400300));

        configurer.setShowCoolBar(
false);

        configurer.setShowStatusLine(
false);

        configurer.setTitle(
"Hello RCP");

    }


至于ApplicationWorkbenchAdvisor这个类,我想你一定想起了Eclipse中的Workbench概念
在这里,可以定义当这个RCP作为plugin的时候的Worbench的透视图的一些属性。

-----------------------------------

最后,基于Eclipse3.1的product方式的RCP程序将获得同Eclipse相同的插件体系支持
也就是说:你的应用本身就是基于Eclipse Platform的,这样,你的程序也可以接受插件插入了(如果你设计的好的话^_^)
另外,还有其他很多好处,比如在线升级功能的自动绑定啊,帮助功能的使用啊等等
想一想,你的程序将既能作为单独的程序运行,又能作为Eclipse的插件运行,而且还跨平台,think about it...
So....try it now, you will get more

分享到:
评论

相关推荐

    定制 SWT RCP 界面--如何编写一个漂亮的 SWT

    ### 定制SWT RCP界面—如何编写一个漂亮的SWT RCP界面 #### 引言 在现代软件开发中,用户界面(UI)的设计至关重要。一个美观且易用的界面不仅能提升用户体验,还能增强软件的整体竞争力。SWT (Standard Widget ...

    swt.rar_SWT_rcp

    例如,"swt.CHM"可能是一个包含关于SWT组件和API详细信息的帮助文件,它可以帮助开发者更好地理解和使用SWT。而"www.pudn.com.txt"可能是从网络论坛或资源分享网站下载的额外资料,可能包含了关于SWT和RCP开发的示例...

    JAVA CS SWT RCP 在线升级 自动更新 源码

    Java CS(Client/Server)SWT(Standard Widget Toolkit)RCP(Rich Client ...通过理解和掌握这些知识点,开发者可以构建出一个具备在线升级和自动更新功能的Java CS SWT RCP应用程序,提供用户友好的更新体验。

    基于SWt,JFace的Rcp 开发实例

    SWT(Standard Widget Toolkit)是Java中的一个GUI库,它提供了一套与操作系统紧密集成的控件,使得开发者可以创建与平台原生界面风格一致的应用程序。SWT的优势在于性能高、原生外观以及对操作系统功能的深度利用,...

    swt&jface&rcp.chm.rar

    SWT 是一个开源的 Java 库,它为开发者提供了与操作系统原生界面控件交互的能力。这意味着使用 SWT 开发的应用程序可以拥有与操作系统一致的外观和感觉,如 Windows、Linux 和 macOS。SWT 提供了丰富的组件,如按钮...

    eclipse插件开发: rcp/swt相关资料

    SWT是Eclipse中的一个图形用户界面(GUI)库,它是Java AWT和Swing之外的一个替代选择。SWT直接与操作系统进行交互,提供了更高效的性能和更原生的外观。SWT组件包括按钮、文本框、滚动条等,这些组件可以组合使用来...

    SWT RCP JAVA WEB QQ 支持外网通信

    采用RCP开发的java版聊天工具,采用socket技术,支持外网聊天、传文件等功能。在局域网内传输更快。

    SWT/RCP/GC画可移动矩形框

    用swt在shell上画一个矩形框,并且可以拖动矩形框,拖动的过程中自动擦除上一个矩形框。并且有动态拖动的效果。不影响背景图的显示。使用方法见类中注释

    开发项目用SWING与RCP与SWT.JFACE的分析

    下面通过一个简单的SWT程序示例来展示如何使用SWT创建一个基本的应用窗口。 ```java import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class OpenShell { public static ...

    EclipseSWT_JFace_RCP插件开发

    1. **Eclipse SWT**:SWT是Eclipse项目的一个重要组成部分,它的目标是为Java提供一种与本地操作系统API密切集成的图形用户界面库。SWT提供了与操作系统直接交互的控件,如按钮、文本框、列表等,使得Java应用程序的...

    学习SWT,RCP的笔记.doc

    SWT的一个显著特点在于它能直接调用操作系统的GUI资源,这意味着SWT的应用程序在不同的平台上具有与本地系统相匹配的外观和感觉,从而提供了更好的用户体验。 #### 二、SWT的优势 - **一致性**: SWT应用的界面风格...

    我的第一个RCP程序

    【标题】"我的第一个RCP程序"涉及到的是Eclipse Rich Client Platform (RCP)的编程基础知识,这是一种用于构建桌面应用程序的框架。RCP是Eclipse IDE背后的强大技术,允许开发者创建功能丰富的、可扩展的应用程序。 ...

    Rcp一个简单的入门教程

    **RCP(Rich Client Platform)** 是Eclipse项目的一个核心组成部分,它提供了一个框架,用于构建功能丰富的桌面应用程序。RCP允许开发者利用Eclipse的强大功能,如插件系统、工作台管理、视图和编辑器,来快速开发...

    一个简单的RCP开发例子

    2. **创建新项目**:在Eclipse中,通过"File" -> "New" -> "Project",然后选择"Plug-in Project"或者"RCP Application"来创建一个新的RCP项目。 3. **定义产品配置**:产品配置定义了RCP应用的基本结构,包括主...

    RCP,RCP开发

    RCP提供了一个灵活的基础平台,允许开发者利用插件系统来扩展应用程序的功能,而无需从头开始编写整个用户界面。通过RCP,开发者可以专注于业务逻辑,而UI组件和框架已经由RCP提供,大大提高了开发效率。 **RCP核心...

    一个简单的RCP入门教程

    1. **新建一个RCP项目**:在Eclipse中,选择"File" > "New" > "Project",然后在弹出的对话框中选择"Eclipse" > "RCP Application"。 2. **配置应用模型**:在新建项目向导中,指定应用程序的名称、图标等基本信息,...

    RCP形式转换成插件形式

    在RCP(Rich Client Platform)模式下,`plugin.xml`文件中包含了一个`application`扩展点,这是用于定义应用主入口的关键元素。当转换为插件形式时,这一扩展点需要被移除,因为插件形式的应用并不依赖于RCP框架来...

    eclipse rcp 例子 源码

    `org.eclipse.jface.source_3.6.0.I20100601-0800.jar.zip` 文件则涉及到了JFace,它是Eclipse RCP中的一个高级UI库,基于SWT构建,提供了一些抽象和简化UI开发的类和视图。JFace的目标是减少编写GUI代码的复杂性,...

Global site tag (gtag.js) - Google Analytics