04_Eclipse_RCP(四)(常用技术)(1)(基础知识)_第1页
04_Eclipse_RCP(四)(常用技术)(1)(基础知识)_第2页
04_Eclipse_RCP(四)(常用技术)(1)(基础知识)_第3页
04_Eclipse_RCP(四)(常用技术)(1)(基础知识)_第4页
04_Eclipse_RCP(四)(常用技术)(1)(基础知识)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Version 1.0 周甫()周甫() Page 1 Eclipse RCP(四四) 常用技术常用技术(1) 基础知识基础知识 周甫()2 课程介绍课程介绍 周甫()3 概概 要要 项目的组织结构 RCP基本框架 定制应用程序窗口 定制开发平台和目标平台 周甫()4 0 新建项目新建项目 新建项目,除了在新建向导的”Templates”一页选择:”RCP Application with an intro”以外,其他的过程都和”快速入门”中新建项目过程一样. 建好项目后,将默认的包名:*.*.intro改为*.*.core 同时修改plugin.xml中的相关两处,如: 第一处: 第二处:

2、在项目下新建以下2个目录: lib - 存放我们将要用到的一些类库文件 icons - 存放各种图片 周甫()5 1 项目的组织结构项目的组织结构 Java源文件源文件 系统类库系统类库 插件依赖插件依赖 欢迎文字欢迎文字 描述文件描述文件 构建属性对文件构建属性对文件 插件配置文件插件配置文件 启动图片启动图片 周甫()6 2 RCP基本框架基本框架 Eclipse自动生成了一个RCP项目所需要的 5个java文件,RCP项目也主要是在这5个 文件基础上做开发. 深入的了解这5个文件对于RCP开发是非 常有帮助的. 周甫()7 2.1 基本概念基本概念 Display 应用程序一般只需要一个

3、Display对象,该 对象实际上是一个SWT对象,代表了低层 图形系统的实现.它负责从操作系统的事 件队列中读取事件,传递给RCP的事件监 听器以便完成具体任务。 周甫()8 Shell与与Shell居中居中 Shell 每个窗口都有一个Shell对象.Shell对象代 表了与用户交互的窗口框架,并处理与 窗口关联的诸如移动、改变大小等常见 行为。 Shell居中: (见:代码集锦 Code 1); 周甫()9 Workbench Workbench是工作台,通俗地说就是代表用户界 面的UI元素.工作台上有各种窗口、图标、按钮 和控件,用户执行各种操作的主要地方。 每个应用程序只有一个Wor

4、kbench。 获取方法: IWorkbench workbench = PlatformUI.getWorkbench(); Workbench重要的两个方法: restart() - 重新启动应用程序 close() 关闭应用程序 周甫()10 Advisor Advisor是个通称,主要设置用户主界面宽度、高度、 图标、菜单、工具栏、颜色、各类操作等等. Advisor有具体的3种类型: WorkbenchAdvisor : 应用程序级别,负责工作台生命周期的 管理,例如启动、关闭等。 WorkbenchWindowAdvisor: 窗口级别,每个窗口都有一个 WorkbenchWind

5、owAdvisor实例。该实例负责具体窗口的生命 周期管理,例如:状态栏、工具栏、菜单、标题和各种控件 等等.有点与SWT中的Shell类似. ActionBarAdvisor: 窗口级别。每个窗口都有一个 ActionBarAdvisor的实例,该实例管理窗口的菜单栏、状态栏、 工具栏的外观和行为。 周甫()11 View 和和 Editor 在RCP中,用户主要通过视图(View)和编辑器 (Editor)来与程序交互。 视图是可以浮动的工作窗口,负责显示在某个层面 的状态信息。视图扩展自ViewPart抽象类. 编辑器也是一种工作窗口,提供对数据进行各种操 作的交互能力。编辑器扩展自Ed

6、itorPart抽象类 实际上,视图和编辑器并没有严格的区分。 周甫()12 Perspective 透视图(Perspective)是应用程序对窗口内容进 行安排和布局的主要工具,每个应用程序都有 一个默认的透视图。 默认的透视图不可移动、不可关闭且没有标题 栏。 透视图与视图、编辑器之间的关系可以用书包、 书和笔来形容。 Eclipse为我们创建了一个透视图类 (Perspective),而我们只需要在这个类中定义新 的透视图即可. 周甫()13 2.2 类文件分析类文件分析 Application.java Application相当于Java类的main(),RCP程序的运行总是开始于

7、 Application,它负责程序的启动、停止。 切入点: 可以将我们需要在程序运行之前的一些准备工作(诸如数据库启动, 网络检验,安全验证等等)放在这类中.放置的地方: Display display = PlatformUI.createDisplay(); try /数据库启动 /网络校验 /安全验证 int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor(); . 周甫()14 ApplicationWorkbenchAdvisor.java 这个类负责应用程

8、序生命周期的管理.该类具体实现只 是一个初始的视图界面,还需要 WorkbenchWindowAdvisor、ActionBarAdvisor配合才 能构成一个较为完整的用户界面,其主要有五个方法: 方法方法说明说明 initialize 在启动工作台 ( Workbench ) 前进行初始化. 这个方法有只有一个参数: IWorkbenchConfigurer preStartup 在初始化完成之后, 打开第一个窗口之前调用, 在这里可以对打开编辑器 和视图的初始化参数进行设置. postStartup 在所有窗口打开或恢复以后开始事件循环之前调用. 在这里可以进行一些 类似自动批处理的工作

9、 preShutdown 在事件循环结束以后, 关闭任何一个窗口之前调用 postShutdown 在所有窗口关闭之后, 关闭工作台 ( Workbench ) 之前调用, 可以用来保存 当前应用的状态, 清理 initialize 方法创建的内容 周甫()15 ApplicationWorkbenchWindowAdvisor.java 这个类负责应用程序窗口生命起周的管理,该 类控制窗口创建时的大小、标题、位置等。 该类主要方法: 方法方法说明说明 preWindowOpen 窗口控件创建之前调用,可以在该方法中设置窗口的初始大小、状 态栏、工具栏等 postWindowRestore 当

10、窗口根据上一次的保存状态恢复创建之后,打开窗口之前调用; 第一次运行以及不保存状态下都不会调用 postWindowCreate 窗口创建之后调用,用于调整窗口 postWindowOpen 窗口已经打开之后调用,可以用来注册窗口监听,系统托盘等 周甫()16 ApplicationActionBarAdvisor.java 这个类负责定义窗口的行为,该类用于构建菜单栏、工 具栏和状态栏。 其主要方法: 方法方法说明说明 makeActions注册菜单或者工具栏的动作 fillMenuBar填充窗口的主菜单 fillCoolBar填充窗口的主工具栏 fillStatusLine填充窗口的主状态

11、栏 周甫()17 Perspective.java 这个类主要负责界面布局的安排。 以下是个示例: public void createInitialLayout(IPageLayout layout) /编辑区不可见 layout.setEditorAreaVisible(false); /注册新的透视图是个独立的视图及其出现的位置 layout.addStandaloneView(IConstants.VIEW_PROJECTLIST_ID, true, IPageLayout.LEFT, 0.26f, layout.getEditorArea(); /新的透视图不可关闭 layout.g

12、etViewLayout(IConstants.VIEW_PROJECTLIST_ID).setCloseable(false); /不可移动 layout.getViewLayout(IConstants.VIEW_PROJECTLIST_ID).setMoveable(false); . 周甫()18 3 定制应用程序窗口定制应用程序窗口 闪屏图片 自制一个24bit的BMP格式图片,尺寸小于 500mm*300mm覆盖项目下原来的那个splash.bmp 即可. 不保存窗口状态 每次启动程序都要恢复到之前关闭时的状态会影响 性能,所以要关闭掉,修改 ApplicationWorkbenc

13、hAdvisor的initialize()将 setSaveAndRestore(true)改为false; 定制窗口式样 修改ApplicationWorkbenchWindowAdvisor.java的 preWindowOpen()方法如下:* 周甫()19 3 定制应用程序窗口定制应用程序窗口 窗口居中 继续修改ApplicationWorkbenchWindowAdvisor的 postWindowOpen()方法,利用之前写好的shell居中代码(Code 1)将窗口居中: Shell shell = getWindowConfigurer().getWindow().getShe

14、ll(); setCenter(shell); 视图标题栏弧线型外观及进度条: 修改ApplicationWorkbenchAdvisor的initialize(),加上: PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.S HOW_TRADITIONAL_STYLE_TABS,false); PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.S HOW_PROGRESS_ON_STARTUP,true); 周

15、甫()20 4 定制目标平台和开发平台定制目标平台和开发平台 开发平台是开发RCP的基本环境(IDE). 目标平台是应用程序运行的基础平台. 为了更好的体现程序运行效果目标平台和开发平台最好分离.目 标平台需要单独下载一个和开发平台版本号相匹配的platform, 如: eclipse-platform-3.2.2-win32.zip 同时为了更完美的体现中文,还需要下载一个中文包: NLpack1-eclipse-platform-3.2.1-win32.zip 目标平台安装步骤: 创建文件夹:d:eclipse_platform,将eclipse-platform-3.2.2- win32.zip解压后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论