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

下载本文档

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

文档简介

会计学1EclipseRCP四常用技术基础知识2概要项目的组织结构RCP基本框架定制应用程序窗口定制开发平台和目标平台第1页/共21页30新建项目新建项目,除了在新建向导的”Templates”一页选择:”RCPApplicationwithanintro”以外,其他的过程都和”快速入门”中新建项目过程一样.建好项目后,将默认的包名:**.**.intro改为**.**.core同时修改plugin.xml中的相关两处,如:

第一处: <runclass="ro.Application"></run>

第二处:<perspectivename="net.zoof.kayaka.perspective"class="ro.Perspective"id="net.zoof.kayaka.perspective"></perspective>在项目下新建以下2个目录:lib--存放我们将要用到的一些类库文件icons--存放各种图片第2页/共21页41项目的组织结构Java源文件系统类库插件依赖欢迎文字描述文件构建属性对文件插件配置文件启动图片第3页/共21页52RCP基本框架Eclipse自动生成了一个RCP项目所需要的5个java文件,RCP项目也主要是在这5个文件基础上做开发.深入的了解这5个文件对于RCP开发是非常有帮助的.第4页/共21页62.1基本概念Display应用程序一般只需要一个Display对象,该对象实际上是一个SWT对象,代表了低层图形系统的实现.它负责从操作系统的事件队列中读取事件,传递给RCP的事件监听器以便完成具体任务。第5页/共21页7Shell与Shell居中Shell每个窗口都有一个Shell对象.Shell对象代表了与用户交互的窗口框架,并处理与窗口关联的诸如移动、改变大小等常见行为。Shell居中:(见:代码集锦Code1);第6页/共21页8WorkbenchWorkbench是工作台,通俗地说就是代表用户界面的UI元素.工作台上有各种窗口、图标、按钮和控件,用户执行各种操作的主要地方。每个应用程序只有一个Workbench。获取方法:

IWorkbenchworkbench=PlatformUI.getWorkbench();Workbench重要的两个方法:restart()--重新启动应用程序close()–

关闭应用程序第7页/共21页9AdvisorAdvisor是个通称,主要设置用户主界面宽度、高度、图标、菜单、工具栏、颜色、各类操作等等.Advisor有具体的3种类型:WorkbenchAdvisor:应用程序级别,负责工作台生命周期的管理,例如启动、关闭等。WorkbenchWindowAdvisor:窗口级别,每个窗口都有一个WorkbenchWindowAdvisor实例。该实例负责具体窗口的生命周期管理,例如:状态栏、工具栏、菜单、标题和各种控件等等.有点与SWT中的Shell类似.ActionBarAdvisor:窗口级别。每个窗口都有一个ActionBarAdvisor的实例,该实例管理窗口的菜单栏、状态栏、工具栏的外观和行为。第8页/共21页10View和Editor在RCP中,用户主要通过视图(View)和编辑器(Editor)来与程序交互。视图是可以浮动的工作窗口,负责显示在某个层面的状态信息。视图扩展自ViewPart抽象类.编辑器也是一种工作窗口,提供对数据进行各种操作的交互能力。编辑器扩展自EditorPart抽象类实际上,视图和编辑器并没有严格的区分。第9页/共21页11Perspective透视图(Perspective)是应用程序对窗口内容进行安排和布局的主要工具,每个应用程序都有一个默认的透视图。默认的透视图不可移动、不可关闭且没有标题栏。透视图与视图、编辑器之间的关系可以用书包、书和笔来形容。Eclipse为我们创建了一个透视图类(Perspective),而我们只需要在这个类中定义新的透视图即可.第10页/共21页122.2类文件分析Application.javaApplication相当于Java类的main(),RCP程序的运行总是开始于Application,它负责程序的启动、停止。切入点:可以将我们需要在程序运行之前的一些准备工作(诸如数据库启动,网络检验,安全验证等等)放在这类中.放置的地方:Displaydisplay=PlatformUI.createDisplay();try{

//数据库启动

//网络校验

//安全验证intreturnCode=PlatformUI.createAndRunWorkbench(display,newApplicationWorkbenchAdvisor());…….第11页/共21页13ApplicationWorkbenchAdvisor.java这个类负责应用程序生命周期的管理.该类具体实现只是一个初始的视图界面,还需要WorkbenchWindowAdvisor、ActionBarAdvisor配合才能构成一个较为完整的用户界面,其主要有五个方法:方法说明initialize在启动工作台(Workbench)前进行初始化.这个方法有只有一个参数:IWorkbenchConfigurerpreStartup在初始化完成之后,打开第一个窗口之前调用,在这里可以对打开编辑器和视图的初始化参数进行设置.postStartup在所有窗口打开或恢复以后开始事件循环之前调用.在这里可以进行一些类似自动批处理的工作preShutdown在事件循环结束以后,关闭任何一个窗口之前调用postShutdown在所有窗口关闭之后,关闭工作台(Workbench)之前调用,可以用来保存当前应用的状态,清理initialize方法创建的内容第12页/共21页14ApplicationWorkbenchWindowAdvisor.java这个类负责应用程序窗口生命起周的管理,该类控制窗口创建时的大小、标题、位置等。该类主要方法:方法说明preWindowOpen窗口控件创建之前调用,可以在该方法中设置窗口的初始大小、状态栏、工具栏等postWindowRestore当窗口根据上一次的保存状态恢复创建之后,打开窗口之前调用;第一次运行以及不保存状态下都不会调用postWindowCreate窗口创建之后调用,用于调整窗口postWindowOpen窗口已经打开之后调用,可以用来注册窗口监听,系统托盘等第13页/共21页15ApplicationActionBarAdvisor.java这个类负责定义窗口的行为,该类用于构建菜单栏、工具栏和状态栏。其主要方法:方法说明makeActions注册菜单或者工具栏的动作fillMenuBar填充窗口的主菜单fillCoolBar填充窗口的主工具栏fillStatusLine填充窗口的主状态栏第14页/共21页16Perspective.java这个类主要负责界面布局的安排。以下是个示例:public

voidcreateInitialLayout(IPageLayoutlayout){

//编辑区不可见

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);……..第15页/共21页173定制应用程序窗口闪屏图片

自制一个24bit的BMP格式图片,尺寸小于500mm*300mm覆盖项目下原来的那个splash.bmp即可.不保存窗口状态

每次启动程序都要恢复到之前关闭时的状态会影响性能,所以要关闭掉,修改ApplicationWorkbenchAdvisor的initialize()将setSaveAndRestore(true)改为false;定制窗口式样

修改ApplicationWorkbenchWindowAdvisor.java的preWindowOpen()方法如下:*第16页/共21页183定制应用程序窗口窗口居中

继续修改ApplicationWorkbenchWindowAdvisor的postWindowOpen()方法,利用之前写好的shell居中代码(Code1)将窗口居中:

Shellshell=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);第17页/共21页194定制目标平台和开发平台开发平台是开发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文件夹下全部内容复制其中.解压语言包,将featur

温馨提示

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

评论

0/150

提交评论