深入浅出SmartRCP


狂奔的蜗牛 项目地址:http://code.google.com/p/smartrcp/ QQ 群:90636900 Email:Email:pzxiaoxiao130130@gmail.com 前言 为什么使用 SmartRCP SmartRCP 是一个使用 flex 来写 eclipse rcp 桌面程序的 eclipse 插件。它继承了 java 与 flex 的优势,并扬长避短,将它们的优势发挥得淋漓尽致。使用了 SmartRCP 后,您可以 用 flex 的 mxml 快速构建出漂亮的程序界面,用 java 来处理复杂的业务逻辑,使界面显示 层与业务逻辑层相分离,实现了桌面程序的分层设计。界面与美工可以专注于 flex 的界 面开发部分,Java 开发人员专注于业务逻辑部分的开发。 SmartRCP 的优势如下: 狂奔的蜗牛 / 2 1:完全使用 flex 做界面开发,充分发挥 flex 界面开发的便捷与高效优势,提高了工 作效率。 2:使用 flex 大量的 GUI 库可以设计出漂亮的界面。 3:flex 可以轻松调用所有 java 运行库与 API,使 flex 的功能更加强大。 4:flex 与 java 之间的事件通信接口,为多线程与复杂任务的处理提供了支持。 5:java 负责业务逻辑,flex 负责界面展示,充分发挥各自的优势,使程序的逻辑与开 发流程更加清晰。 6:与 flex builder IDE 完全融合,界面的设计与程序的 debug 工作轻松搞定。 高扩展 构建于eclipse 插件体系之上 flex代理机制, 轻松访问java 对象 高稳定 构建于SWT, eclipse插件体 系之上 跨平台 支持所有主流 操作系统 开放性 源代码完全开 放 狂奔的蜗牛 / 3 轻松上手 SmartRCP 版 Hello World 安装配置 SmartRCP 首先到https://code.google.com/p/smartrcp/downloads/list下载最新版的SmartRCP压缩包 SmartRCP_beta_1.0.rar。解压后文档结构如下图: 如上图所示: 1. SmartRCP.swc 为 flex 开发 SmartRCP 所需要的运行库。 2. SmartRCP.exe 为可以运行的例程,包含了所有功能部件示例,双击打开后效果如下图: 狂奔的蜗牛 / 4 3. SmartRCPDebuger.exe 为 debug 连接器,运行它需要.net2.0 运行环境的支持,通过它可 以实现对 SmartRCP 程序的 debug,只要将该程序配置为 Flex Builder 的默认 Web Browser。如下图: 编写 Hello World 程序 下面我们开始第一个 SmartRCP 程序的开发之旅,首先说明下我们编写的程序所要实 现的功能为类似 QQ 游戏大厅的程序。具体流程为:双击启动,弹出登录对话框,输入账 号后进入系统,系统界面大致分为两部分,左边为一棵树,用于选择当前加载哪款游戏, 右边为当前加载的游戏的界面,我们用一串字符串代替。 界面大致如下图: 狂奔的蜗牛 / 5 现在我们开始编码实现上面的程序,首先打开 Flex Builder 创建一名为 SmartRCPDemo 的 flex 项目,然后将 SmartRCP.swc 文件拷贝到它的 libs 目录下,在该项 目下创建一名为 Splash.mxml 的 Mxml Application 文件,整个项目结构如下: 狂奔的蜗牛 / 6 Splash.mxml在这里的作用为配置 SmartRCP 程序的启动界面,它控制着 SmartRCP 程序的 启动界面与启动后整个程序的布局形式。 代码和说明如下: 名称解释:1.下面所说的 rcp 指的是 eclipse rcp 开发平台。 2. 下面所说的视图表示的是 eclipse rcp 中的 org.eclipse.ui.part.ViewPart Global{ font-size:12px; } 狂奔的蜗牛 / 8 狂奔的蜗牛 / 9 {CWorkbenchActions.ID_QUIT} {CWorkbenchActions.ID_PREFERENCES} test test 狂奔的蜗牛 / 11 狂奔的蜗牛 / 12 在 src 目录下新建 views 目录,新建一名称为 Content.mxml 的 Mxml Module 的文件,如下 图: 点击 finish 按钮后输入代码如下: 以相同步骤创建一名称为 Nav.mxml 的文件,内容如下: 狂奔的蜗牛 / 14 0){ var viewer:FlashViewer=ViewManager.Instance.findFlashViewer(appIds[0] as String); if(viewer!=null){ viewer.invoke("setInfo",["加载 "+modulePath+" 游戏..."]); } } } } } ]]> 狂奔的蜗牛 / 15 SmartRCPDemo.mxml 为 SmartRCP 程序的主程序,SmartRCP 是根据它加载所有的 flex 模 块的修改其代码如下: global{ font-size:12px; } 全部完成后项目的文档结构如下: 狂奔的蜗牛 / 16 最后转到 SmartRCP 的安装目录,找到 plugins 目录下的 start.ini 文件,将 SmartRCPDemo 项目生成的 Splash.swf 与 SmartRCPDemo.swf 两个 swf 文件的完整路径配置到 start.ini文 件的对应 key 值下,双击 SmartRCP.exe 文件就可以启动 SmartRCP 版游戏大厅了^_^。 注:SmartRCP 所有的文件路径都用“/”作为路径分隔符。 我的 start.ini 文件内容如下: #E:/flexWork/cn.smartinvoke.smartrcp/bin-debug splash=E:/flexWork/SmartRCPDemo/bin-debug/Splash.swf splash-size=400*250 #E:/flexWork/cn.smartinvoke.smartrcp/bin-debug/main.swf runtime=E:/flexWork/SmartRCPDemo/bin-debug/SmartRCPDemo.swf debug=true Export-Package=org.eclipse.swt.widgets , cn.smartinvoke.smartrcp.io ,java.io,org.eclipse.swt.graphics,org.eclipse.jface.dialogs,org.eclipse. core.runtime A. Splash 项表示 Splash.swf 文件的完整路径; B. splash-size 项表示启动界面的大小; C. runtime 项目表示 SmartRCP 主程序的完整路径; 狂奔的蜗牛 / 17 D. debug 项目表示是否开启 debug 功能; E. Export-Package 项为由逗号分隔的包路径,包中的所有 public 类都可由 flex 直接通过 cn.smartinvoke.RemoteObject 类进行调用。 未完待续… 狂奔的蜗牛 2010-03-01 QQ 群:90636900 Email:Email:pzxiaoxiao130130@gmail.com
还剩16页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享pdf获得金币 ] 5 人已下载

下载pdf

pdf贡献者

swhitedu56

贡献于2010-10-19

下载需要 15 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf