已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Eclipse RCP(四),常用技术-基础知识,周甫(),2,课程介绍,本课程主要讲授Eclipse及RCP基础知识 适用于Java开发工程师 面向的学员是渴望了解Eclipse RCP的各类开发工程师 全部课程时间大约是40分钟,周甫(),3,概 要,项目的组织结构 RCP基本框架 定制应用程序窗口 定制开发平台和目标平台,周甫(),4,0 新建项目,新建项目,除了在新建向导的”Templates”一页选择:”RCP Application with an intro”以外,其他的过程都和”快速入门”中新建项目过程一样. 建好项目后,将默认的包名:*.*.intro改为*.*.core 同时修改plugin.xml中的相关两处,如: 第一处: 第二处: 在项目下新建以下2个目录: lib - 存放我们将要用到的一些类库文件 icons - 存放各种图片,周甫(),5,1 项目的组织结构,Java源文件,系统类库,插件依赖,欢迎文字,描述文件,构建属性对文件,插件配置文件,启动图片,周甫(),6,2 RCP基本框架,Eclipse自动生成了一个RCP项目所需要的5个java文件,RCP项目也主要是在这5个文件基础上做开发. 深入的了解这5个文件对于RCP开发是非常有帮助的.,周甫(),7,2.1 基本概念,Display 应用程序一般只需要一个Display对象,该对象实际上是一个SWT对象,代表了低层图形系统的实现.它负责从操作系统的事件队列中读取事件,传递给RCP的事件监听器以便完成具体任务。,周甫(),8,Shell与Shell居中,Shell 每个窗口都有一个Shell对象.Shell对象代表了与用户交互的窗口框架,并处理与窗口关联的诸如移动、改变大小等常见行为。 Shell居中: (见:代码集锦 Code 1);,周甫(),9,Workbench,Workbench是工作台,通俗地说就是代表用户界面的UI元素.工作台上有各种窗口、图标、按钮和控件,用户执行各种操作的主要地方。 每个应用程序只有一个Workbench。 获取方法: IWorkbench workbench = PlatformUI.getWorkbench(); Workbench重要的两个方法: restart() - 重新启动应用程序 close() 关闭应用程序,周甫(),10,Advisor,Advisor是个通称,主要设置用户主界面宽度、高度、图标、菜单、工具栏、颜色、各类操作等等. Advisor有具体的3种类型: WorkbenchAdvisor : 应用程序级别,负责工作台生命周期的管理,例如启动、关闭等。 WorkbenchWindowAdvisor: 窗口级别,每个窗口都有一个WorkbenchWindowAdvisor实例。该实例负责具体窗口的生命周期管理,例如:状态栏、工具栏、菜单、标题和各种控件等等.有点与SWT中的Shell类似. ActionBarAdvisor: 窗口级别。每个窗口都有一个ActionBarAdvisor的实例,该实例管理窗口的菜单栏、状态栏、工具栏的外观和行为。,周甫(),11,View 和 Editor,在RCP中,用户主要通过视图(View)和编辑器(Editor)来与程序交互。 视图是可以浮动的工作窗口,负责显示在某个层面的状态信息。视图扩展自ViewPart抽象类. 编辑器也是一种工作窗口,提供对数据进行各种操作的交互能力。编辑器扩展自EditorPart抽象类 实际上,视图和编辑器并没有严格的区分。,周甫(),12,Perspective,透视图(Perspective)是应用程序对窗口内容进行安排和布局的主要工具,每个应用程序都有一个默认的透视图。 默认的透视图不可移动、不可关闭且没有标题栏。 透视图与视图、编辑器之间的关系可以用书包、书和笔来形容。 Eclipse为我们创建了一个透视图类(Perspective),而我们只需要在这个类中定义新的透视图即可.,周甫(),13,2.2 类文件分析,Application.java Application相当于Java类的main(),RCP程序的运行总是开始于Application,它负责程序的启动、停止。 切入点: 可以将我们需要在程序运行之前的一些准备工作(诸如数据库启动, 网络检验,安全验证等等)放在这类中.放置的地方: Display display = PlatformUI.createDisplay(); try /数据库启动 /网络校验 /安全验证 int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor(); .,周甫(),14,ApplicationWorkbenchAdvisor.java,这个类负责应用程序生命周期的管理.该类具体实现只是一个初始的视图界面,还需要WorkbenchWindowAdvisor、ActionBarAdvisor配合才能构成一个较为完整的用户界面,其主要有五个方法:,周甫(),15,ApplicationWorkbenchWindowAdvisor.java,这个类负责应用程序窗口生命起周的管理,该类控制窗口创建时的大小、标题、位置等。 该类主要方法:,周甫(),16,ApplicationActionBarAdvisor.java,这个类负责定义窗口的行为,该类用于构建菜单栏、工具栏和状态栏。 其主要方法:,周甫(),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.getViewLayout(IConstants.VIEW_PROJECTLIST_ID).setCloseable(false); /不可移动 layout.getViewLayout(IConstants.VIEW_PROJECTLIST_ID).setMoveable(false); ,周甫(),18,3 定制应用程序窗口,闪屏图片 自制一个24bit的BMP格式图片,尺寸小于500mm*300mm覆盖项目下原来的那个splash.bmp即可. 不保存窗口状态 每次启动程序都要恢复到之前关闭时的状态会影响性能,所以要关闭掉,修改ApplicationWorkbenchAdvisor的initialize()将setSaveAndRestore(true)改为false; 定制窗口式样 修改ApplicationWorkbenchWindowAdvisor.java的preWindowOpen()方法如下:*,周甫(),19,3 定制应用程序窗口,窗口居中 继续修改ApplicationWorkbenchWindowAdvisor的postWindowOpen()方法,利用之前写好的shell居中代码(Code 1)将窗口居中: Shell shell = getWindowConfigurer().getWindow().getShell(); setCenter(shell); 视图标题栏弧线型外观及进度条: 修改ApplicationWorkbenchAdvisor的initialize(),加上: PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS,false); PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_PROGRESS_ON_STARTUP,true);,周甫(),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解压后eclipse文件夹下全部内容复制其中. 解压语言包,将features和plugins2个目录覆盖d:eclipse
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年《法律职业考核》知识考试题库及答案解析
- 2025年《Excel数据处理》知识考试题库及答案解析
- 2025年《网络安全漏洞分析》知识考试题库及答案解析
- 2025年《食品安全信息化建设指南应用》知识考试题库及答案解析
- 2025年《检验检测机构资质认定管理办法配套法规》知识考试题库及答案解析
- 2025年《企业基因技术管理制度》知识考试题库及答案解析
- 2025年《员工考勤统计方法》知识考试题库及答案解析
- 2025年《海关查验技术》知识考试题库及答案解析
- 2025年《档案信息化建设管理办法》知识考试题库及答案解析
- 2026年食品安全咨询服务协议
- 2025浙江杭州市拱墅区小河街道招聘编外人员3人笔试备考试题及参考答案
- 长期照护师基础知识考核试卷及答案
- 【《基于PLC控制的混料搅拌控制系统设计》10000字】
- 生理学课件第四章血液循环
- 云南动物科学真题及答案
- 企业转让协议合同范本
- 2025-2030中国啤酒行业终端动销策略优化与经销商管理模式创新研究
- 日本足球青训教学课件
- 高速公路环保知识培训课件
- 骑手安全知识培训内容课件
- 2025中国文化概论考试题库与答案
评论
0/150
提交评论