极好的Eclipse_RCP零基础学习(带图解)

合集下载

eclipse 操作技巧

eclipse 操作技巧

eclipse是一个基于插件的开源项目,功能很强大,除了java外,通过安装插件可以编写大多数常用语言,可以说是一个非常强大,全面的ide开发工具。

所以这里有必要介绍一下它的一些使用技巧,便于开发。

这些技巧包括常用菜单、界面的操作和快捷键的使用。

◆Eclipse可以建立多个工作区,每个工作区是一个文件目录,所有的相关文件都存放在这个目录下,在启动时会有对话框提示选择工作区。

启动以后看到的就是工作台,工作台包含多个透视图,每个透视图又包含多个不同的窗口。

◆Eclipse可以设置文件的关联打开程序,操作方法:Window->Preferences->General->Editors->File Associations.◆Eclipse可以以方法为独立的编辑单位和以类为编辑单位之间进行切换,操作方法:点击按钮[show source of selected Element only]。

◆Eclipse的窗口可以通过点击右上角的标签大小化、恢复的操作,类似于Window的操作。

◆Eclipse中可以实现目录折叠恢复功能,操作方法:点击视图上方的折叠、恢复标签。

◆Eclipse提供了自动刷新功能以避免每次在Eclipse以外更改文件后手工刷新,操作方法:window->Preferences->General->Workspace->选中Refresh automatically。

◆Eclipse中打开一个Java文件,鼠标点击一个元素(类、方法),会在Declarition窗口中直接显示这个元素的源代码,类似于以前的Open Declarition功能(通过Ctrl+鼠标左键)。

另外还可以在Javadoc视图中显示这个元素的javadoc。

◆Eclipse中可以显示行号,操作方法:Window->Preference->General->Editors->TextEditors->选中show line numbers。

Eclipse使用方法[精髓]

Eclipse使用方法[精髓]

附录C 3.2.2使用简介C.3 使用开发工具进行编程当下载并安装完毕Eclipse 3.2.2开发工具后,可以使用该开发工具进行代码的开发了,本节将使用该工具开发一段代码,介绍如何使用该开发工具进行编程,请按照如下步骤进行操作。

(1)首先打开Eclipse 3.2.2开发工具,稍等片刻之后,会进入到图C-8所示的界面,在这里将设置工程文件默认的存放路径。

图C-8 设置工程文件默认的存放路径(2)本书选用默认路径作为工程文件的存放路径,当设置完成之后,就可以单击“OK”按钮,稍等片刻进入Eclipse 3.2.2的主程序。

如图C-9所示。

图C-9 Eclipse 3.2.2主程序的欢迎界面(3)这时可以将欢迎界面关掉,并单击“File”菜单,将鼠标移动到“New”菜单项上,此时可以看到图C-10所示的界面。

(4)在图C-11所示的“New”子菜单中选择“Project…”菜单项来创建工程文件,单击之后,会弹出一个图C-12所示的对话框。

(5)在该对话框中将选择所要创建工程的类型,可以选择“Java Project”选项,并单击“Next”按钮来进行创建。

单击完“Next”按钮后,会进入图C-13所示的界面,在这里将设置工程文件的名称。

(3)可以在“Project Name”文本框中设置该工程的名称,例如这里将该工程的名称设置为“T est”,当设置完毕之后,可以单击“Fini sh”按钮完成设置。

单击完“Fini sh”按钮后,可以在开发工具的主界面左侧看到本工程的工程树。

如图C-14所示。

图C-12 选择工程文件的类型图C-13 设置工程文件的名称图C-14 主界面中的工程树(4)由于还没有创建文件,所以创建工程完毕之后,工程树比较空,这时可以为该工程创建代码文件,单击“File”菜单,并在其中“New”子菜单中选择“Class”选项。

这样会弹出一个用来创建文件的向导提示框,如图C-15所示。

Teamcenter8.1java开发培训(1)

Teamcenter8.1java开发培训(1)

AWT/Swing和SWT/Jface介绍
ØAWT 概述
Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工 具包。AWT 的主要优点是,它在 Java 技术的每个版本上都成为了一 种标准配置,包括早期的 Web 浏览器中的 Java 实现;另外它也非 常稳定。这意味着我们不需要单独安装这个工具包,在任何一个 Java 运行环境中都可以使用它,这一点正是我们所希望的特性。
Teamcenter客户化开发(一)
目录
ØTeamcenter体系结构 ØRCP开发原理 ØAWT/Swing和SWT/Jface介绍 ØTeamcenter现有类结构 Ø开发环境安装与部署 Ø开发一个简单插件工程
Teamcenter体系结构 Ø两层结构
Teamcenter体系结构 Ø四层结构
1.在该包中建立NewItemAction类,并集成AbstractAIFAction类,实现 public void run()方法。
2.在action.properties文件中进行了注册,如下所示:
# File -> New -> Item # ----------------------
newItemAction=mon.actions.NewItemAction newItemAction.ICON=images/newitem_16.png MAND=newItemCommand newItemAction.ACCELERATOR=ctrl pressed T newItemCommand=mands.newitem.NewItemCommand
RCP开发原理 ØRCP体系结构
RCP开发原理 ØEclipse平台在文件系统中的目录结构

使用Eclipse RCP添加TC菜单、视图

使用Eclipse RCP添加TC菜单、视图

作业7Eclipse RCP Introduction 添加菜单和工具栏选项1、创建plug-in工程Step1:请先启动eclipseStep2:点击文件—>新建—>工程Step3:从列表中选择Plug-in Development→Plug-in ProjectStep4:点击下一步,工程名字中键入c9.addMenuItemStep5:在Provider框中输入Training Class2、选择一个模板Step1:确保使用其中的一个模板创建新建的plug-in,从列表中选中Hello, World Command 模板Step2:点击完成3、添加一个图标Step1:展开icons文件夹,里面默认放了一个图片文件4、测试代码Step1:在新工程中双击plugin.xmlStep2:点击Extension选项卡Step3:因为我们选择了模板,所以扩展被自动添加mandsorg.eclipse.ui.handlersorg.eclipse.ui.bindingsorg.eclipse.ui.menusExpand them all. Click on a few to see the properties that appear on the rightStep4:将这个视图与plugin.xml选项卡比较Step5:观察这个handler是如何指向一个Java ClassStep6:展开src文件夹,可以看见下面的两个文件c9.addmenuitemc9.addmenuitem.handlersStep7:双击SampleHandler.java文件查看源代码5、核实这个pluginStep1:既然你已经配置了你的胖客户端作为目标平台,你可以启动你的Teamcenter Step2:登录之后,检查菜单栏中的Sample Menu下的Sample CommandStep3:当点击其中的任何一个,你将会看见这个actionAdd a View and Perspective 1、创建一个plug-in工程Step1:点击文件—>新建—>工程Step2:从菜单中选择Plug-in Development→Plug-in ProjectStep3:点击下一步,在工程名中键入c9.addApplicationStep4:点击下一步,在Provider中键入Training ClassStep5:点击下一步,取消Create a plug-in using one of the templates的勾选因为这个文件你需要人工创建Step6:这个新建的plug-in工程就出现在Packager Project工程中3、添加图标Step1:右击c9.addApplication,选择文件—>新建Step2:在文件夹名字中键入iconsStep3:将STUDENT_HOME\client\AddApplication文件夹下面的图片复制到新建的icons 中4、添加Extensions文件Step1:选择extension选项卡Step2:取消Show only extension points from the required plug-ins选项Step3:点击Add...双击com.teamcenter .rac.aifrcp.application,从New Extension选项卡中Step4:在这节中添加剩余的所需的扩展•org.eclipse.ui.perspectives•org.eclipse.ui.views•org.eclipse.core.expressions.definitionsStep5:保存你的工作内容Step6:通过右击在com.teamcenter .rac.aifrcp.application添加一个aif_app_item扩展元素Step7:通过右击org.eclipse.ui.perspectives在它上面添加一个新的perspective扩展元素Step8:通过右击org.eclipse.ui.views给它添加一个view扩展元素Step9:通过右击org.eclipse.core.expressions.definitions在它上面添加一个definitionStep10:保存你的工作内容5、添加一个View类Step1:创建一个新的view类,这个就是org.eclipse.ui.views扩展元素的视图指向Step2:选择定制view扩展元素Step3:在右边的Extension Element Details中点击class*链接以创建新的类Step4:取消勾选Constructors from superclassStep5:点击完成Step6:查看默认的类,这就是需要你创建用户接口的地方,参照behind-the-scenes数据模型Step7:用下面的代码替代所有的默认的源代码package c9.addapplication.views;import org.eclipse.swt.SWT;import org.eclipse.swt.graphics.Font;import org.eclipse.swt.graphics.FontData;import yout.FillLayout;import posite;import org.eclipse.swt.widgets.Text;import org.eclipse.ui.part.ViewPart;public class CustomView extends ViewPart {public CustomView() {super();}@Overridepublic void createPartControl(Composite parent) {// TODO Auto-generated method stubparent.setLayout( new FillLayout() );Text t = new Text( parent, SWT.BORDER );t.setBackground( parent.getDisplay().getSystemColor( SWT.COLOR_WHITE ));t.setForeground( parent.getDisplay().getSystemColor( SWT.COLOR_BLUE ));Font initialFont = t.getFont();FontData[] fontData = initialFont.getFontData();for (int i = 0; i < fontData.length; i++) {fontData[i].setHeight(18);}Font newFont = new Font(parent.getDisplay(), fontData);t.setFont( newFont );t.setText( " Welcome to Custom Application !! ");}@Overridepublic void setFocus() {// TODO Auto-generated method stub}}Step8:点击文件—>保存6、添加透视图类Step1:回到plug-in编辑器的Extensions选项卡Step2:创建新的透视图类,这个就是org.eclipse.ui.perpectives扩展的perspective指向Step3:选中Custom Application扩展元素Step4:在右边Extension Element Details中点击Class*的连接创建新的Java Class Step5:将ng.Object作为超类Step6:点击完成Step7:查看新建类的默认的源文件,这个就是你应用程序布局的实现方式,它通过一个集合视图陈列信息Step8:用下面的代码替换新建类的默认的代码package c9.addapplication.perspectives;import org.eclipse.ui.IFolderLayout;import org.eclipse.ui.IPageLayout;import org.eclipse.ui.IPerspectiveFactory;public class CustomPerspective implements IPerspectiveFactory {/** The perspective ID */public static final String ID ="c9.addapplication.perspectives.CustomPerspective";@Overridepublic void createInitialLayout(IPageLayout layout) {// TODO Auto-generated method stublayout.setEditorAreaVisible(false);String editorArea = layout.getEditorArea();IFolderLayout top = layout.createFolder("top", IPageLayout.TOP, -2f,editorArea);top.addView( "c9.addapplication.views.CustomView" );}}Step9:点击文件—>保存7、修改PluginsStep1:选择Run—>RunConfiguration…Step2:在Run对话框中,确保Clear框是被选中的Step3:点击应用Step4:点击运行,启动Teamcenter胖客户端Step5:使用新建的Custom Application,检查你是否可以看见Sample Menu 和Toolbar Icon Step6:查看几个其他的Teamcenter应用程序,看看是否有Sample Menu和Toolbar Icon Step7:退出TeamcenterControl command visibility1、修改ExtensionsStep1:双击c9.addMenuItem工程的plugin.xml文件,选中Extensions选项卡,并且修改下面的extension元素Step2:右击你新建的visibleWhen元素,点击New—>referenceStep3:在definitionId框中选中c9.addApplication.inMainViewStep4:重复前面的步骤,这次在toolbar的命令中的visible的reference中添加2、核实plug-inStep1:点击Run启动Teamcenter Rich Client,然后登录Step2:核实你的Sample Menu和the Toolbar Icon是否呈现在胖客户端,当Custom Application是活动的程序Step3:在看看其他的Teamcenter Application,看看你定制的命令是否出现Step4:退出Teamcenter。

使用Eclipse-RCP进行桌面程序开发(一):快速起步

使用Eclipse-RCP进行桌面程序开发(一):快速起步

使用Eclipse RCP进行桌面程序开发(一):快速起步Posted on 2006-11-17 21:41 海边沫沫阅读(26857) 评论(42)编辑收藏所属分类: 拥抱Eclipse RCP 所谓RCP,就是Rich Client Platform的缩写,即富客户平台,是Eclipse进化的产物(自3.0版以后出现),是Eclipse组织向用户提供的强大的开放性开发平台,能够使用户方便地创建自己的基于Eclipse的应用程序,并且这些应用程序能够得到Eclipse的底层支持。

更重要的是,我们可以利用Java创建象Eclipse这么漂亮的桌面程序。

我相信,在未来的几年里,RCP一定会变得非常流行。

使用RCP,我们可以开发界面象Eclipse这样漂亮的桌面程序,比如医院管理系统啊、CAD软件等等。

遗憾的是,目前在国内基本上找不到关于RCP的中文资料,我们只能通过自己的探索来为我们的程序添加我们想要的功能。

下面让我们一步一步来建立一个Eclipse RCP程序,下面的内容可以说在Google 上一搜一大把,有些人会觉得乏味,但是没关系,这只是一个快速的起步。

选择“新建--项目”,选择“插件项目”:点下一步,输入项目名称,选择Eclipse版本,我这里选择的是3.2:点下一步,插件标识和插件名称可以更改,其他的内容都可以保持默认,一定要记得选中富客户机应用程序支持:点下一步,选中一个模板,这里选一个最简单的,到时候看源代码的时候便于理解:点下一步,改一下应用程序标题:点完成,我们可以在项目上面点右键,选择按Eclipse程序运行,就可以看到效果了:在这个程序中,窗口上显示的是一个透视图,透视图中含有一个编辑器区域,以后,我们可以逐步为这个程序添加菜单、工具条和为这个透视图添加视图、编辑器等等。

现在,这个程序只能在Eclipse环境下运行,而RCP的目标是创建可以独立运行的应用程序,我们的事情还没完呢。

eclipse知识教程(1)

eclipse知识教程(1)

ECLIPSE黑油数值模拟基础斯伦贝谢科技服务(北京)有限公司Schlumberger Technology Services (Beijing) Ltd目录简介1目的3什么是油藏数值模拟 5如何把模型与实际油藏联系在一起7为什么要进行油藏数值模拟研究10为什么选择ECLIPSE 12ECLIPSE的功能14ECLIPSE是如何工作的16静态油藏描述19PVT和岩石数据22初始化数据24井数据26使用ECLIPSE进行油藏数值模拟研究28 如何使用手册30文件的组织和结构33ECLIPSE输入/输出结构35ECLIPSE输出文件 37ECLIPSE输出类型 41输出文件名称44文件位置48宏命令的使用50输入文件结构53数据文件语法规则56关键字语法58各部分通用的关键字60系统使用63基本的UNIX命令65VI编辑器69RUNSPEC部分 73RUNSPEC部分的作用 75 RUNSPEC部分关键字 78不含RUNSPEC部分的数据文料81 GRID部分83GRID部分的作用85数据排列规则88网格几何形状90块中心网格实例94角点网格实例97网格模型格块属性99如何指定网格格块属性101传导系数规则109笛卡儿网格的传导系数Ill径向网格传导系数118页岩模型121传导系数修正124非相邻连接NNC 128断层处NNC的生成130尖灭处NNC的生成132局部网格加密(LGR)处NNC的生成134双孔模型中的NNC 136水体处NNC的生成138径向网格中NNC的生成140径向模型142输出控制145GRID部分关键字总结 148GRID部分关键字149EDIT部分153EDIT部分的作用155EDIT部分关键字总结157PROPS部分—流体属性159流体属性的作用161黑油模型概述163黑油及组分模拟167油相状态方程169用PVDO输入dead oi1的PVT属性172用PVCDO输入dead oi1的PVT数据174 用PVTO输入live oil的PVT数据176用PVCO输入live oi1的PVT数据178气体状态方程180用PVZG输入干气的PVT数据183 用PVDG输入干气的PVT属性185 用PVTG输入湿气的PVT数据187 水的状态方程189参考密度191黑油模型中相的选择193用PVT分区定义多种PVT类型196 用API追踪定义多种PVT类型199 岩石压缩系数205饱和度函数和端点标定207饱和度函数的作用209饱和度函数211三相相对渗透率217饱和度函数标定219端点标定221垂向标定226毛管力标定229输出控制233REGIONS分区部分235 REGIONS的作用237REGIONS部分关键字类型239 SOLUTION部分245SOLUTION部分的作用247平衡法249EQUI关键字的使用252块中心平衡253水平和倾斜网格块的精细网格平衡255 动态流体校正257过渡区端点变更260拟合初始含水分布262列举法264初始溶解比266重启268如何产生一个完全重启运算271如何产生一个快速重启运算272完全重启和快速重启274输出控制275水体模拟277水体模拟功能279网格水休281数值水体283Fetkovich水体286Carter-Tracy水体289流量水体292输出控制294SUMMARY部分295SUMMARY部分的作用297附加的参数301输出控制和补充的关键字304SCHEDULE部分—历史拟合307SCHEDULE部分的作用309历史拟合与预测分忻311SCHEDULE历史拟合部分体系结构313VFP曲线指定315钻一口新井:WELSPECS 321气井中的流动327连接层位定义:COMPDAT 331部分完并:COMPRP 337垂向平衡的部分完井:COMPVE 340井历史产量:WCONHIST 345井注入量:WCONlNJE 349模拟器控制:TUNING,TUNINGL和NEXTSTEP 352 输出控制:RPTSCHED和RPTRST 355再溶解和再挥发量:DRSDT和DRVDT 358模拟的前进和终止:DATES,TSTEP和END 360模拟井的动态362手动修井,修改产量和PI 366SCHEDULE部分—生产预测369主产预测部分关键字组成371 SCHEDULE预测部分结构372井目标产最设定:WCONPROD 374经济极限定义377单井经济极限,自动修井和自动降产379 经济极限,自动修井和自动降产381 CECON完井层段经济极限382WPLUG堵水措施:WPLUG 383修井措施:WLIFT 384WTEST试井:WTEST 385井产最的自动降产:WCUTBACK 386井组控制387创建井组层次:GRUPTREE 389井组/油田生产控制:GCONPROD 390井组注入控制:GCONINJE 393优先控制396井组经济极限:GECON 398收敛性399典型的收敛性问题401ECLIPSE100用户教程练习407练习1:单井锥进模型 409关于练习1的说明:单井锥进模型412练习2:部分模型的RUNSPEC部分 413练习3:部分模型GRID部分 415练习4:部分模型的PROPS部分和REGIONS部分418 练习5:部分模型初始化420练习6:部分模型历史拟合422练习7:部分模型开采优化425参考文献4271简介1.1 目的ECLIPSE100用户教程旨在通过介绍ECLIPSE中最常见的功能来帮助用户熟悉油藏数值模拟的整个过程。

Ubuntu_下使用Eclipse_CDT开发C、C++简易教程

Ubuntu_下使用Eclipse_CDT开发C、C++简易教程
Ubuntu 下使用 Eclipse CDT 开发 C、C++简易教程
一、预备工作 1.安装 Java 开发环境(Eclipse CDT 运行必须环境):
sudo apt-get install sun-java6-jdk sudo apt-get install sun-java6-jre
2.安装 C++开发环境 sudo apt-get install g++
由于本工程无命令行参数,所以不需要进行任何设置,点击Close按钮即可。 (3)Debug 点击菜单Run->Debug或使用快捷键F11进行调试,调试过程中使用快捷键F5进行逐步
调试。
结尾语
由于时间仓促,只完成了C语言篇,C++篇类似。如读者需要最新版本,请发E-mail至笔 者gmail:yyhoo2.young@
(3)编写 main.c
点击菜单File->New->Source File新建一个头文件main.c,其内容如下所示:
/* * main.c *
* Created on: 20: young
*/
#include "hello.h"
int main() {
say_hello();
3.下载 Eclipse CDT 进入 Eclipse 官方主页下载页面 /downloads/,找到如下图所 示 Eclipse ID for C/C++ Developers:
选择 Linux 32bit(如果读者安装的是 64bit 的 Ubuntu,请选择后者),进行下载。
当然程序不是一编写完毕,就可以通过编译的,需要调试。
(1)设置断点 选中main.c页面,将鼠标放在该页面的左边框上,点击鼠标右键,弹出菜单,选择 Toggle Breakpoint选项,如下图所示:

Eclipse-RCP入门

Eclipse-RCP入门

Eclipse-RCP用于何处? Eclipse-RCP用于何处? IBM-Louts8 IBM-
Eclipse-RCP于我何用? Eclipse-RCP于我何用?
可以快速搭建桌面应用程序 使用Java语言编程 UI组件(widget)丰富 有可视化编程插件(SWTDesigner) 开源软件(版权、开发库)
1999年IBM开始开发Eclipse 2001年IBM发起创建Eclipse开源项目 同年,IBM发起并成立Eclipse协会 开源用户试图将Eclipse 作为通用富客户端使用,不 单单作为IDE。 2004年发布Eclipse3.0提出微小内核+插件的理念 2005年发布Eclipse3.1正式提出Eclipse-RCP的概念
Eclipse-RCP如何使用? Eclipse-RCP如何使用? Widget
Eclipse-RCP如何使用? Eclipse-RCP如何使用?
Example
Eclipse-RCP入门 Eclipse-RCP入门
快速搭建桌面应用程序
大纲
Eclipse-RCP它是什么? Eclipse-RCP怎么来的? Eclipse-RCP用于何处? Eclipse-RCP于我何用? Eclipse-RCP如何使用?
se-RCP它是什么? Eclipse-RCP它是什么?
Perspective应该包含哪些内容;
◦ 一组Viewer,一些Editor
如果通过配置产生一个Perspective; 如何在Perspective增加多个Viewer;
Eclipse-RCP如何使用? Eclipse-RCP如何使用? Layout
在composite中使用 setBounds FillLayout RowLayout GridLayout FormLayout
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Eclipse RCP入门最近做了一个基于RCP的项目,感受颇深,觉得RCP有希望扭转Java桌面应用的颓势。

在项目中积累了一点经验与心得,拿出来与大家分享,希望能给RCP初学者一点帮助。

我研究Eclipse 插件开发已经有一段时间了,但是我并没有很系统的学习过Eclipse的插件开发,往往只是做项目需要临时学的一点,所以讲的东西难免粗陋,请见谅。

一、Eclipse简介Eclipse最初是由IBM捐献给开源社区的,目前已经发展成为人气最旺的Java IDE。

Eclipse插件化的功能模块吸引了无数开发者开发基于Eclipse的功能插件。

事实上,Eclipse 已经超越了一般Java IDE的概念。

Eclipse是一个平台,一个开放的平台,你可以为Eclipse 添加任何你想要的功能,比如播放音乐,观看电影,聊天……这些不是天方夜谭,而是已经实现的事实。

虽然Eclipse可以添加很多附加功能,可以编辑C/C++,可以编辑Word文件,可以开发UML等等,但是Eclipse最基本,也是最强大的功能还是Java IDE。

二、RCP简介RCP的全称是Rich Client Platform,可以把它看成是Eclipse的骨架,其他的插件是器官与血肉。

我们可以把这个骨架拿过来填入自己的器官和血肉,这样就创造了我们自己的“Eclipse”!使用RCP来开发Java桌面应用可以把开发的焦点转移到系统的逻辑功能上,而不是界面上。

我们自己的程序可以继承Eclipse的风格与功能,而不用自己去编写诸如菜单,工具条,子窗口等等的界面元素。

甚至我们可以把Eclipse本身的功能插件,比如Console拿来放在自己的程序里,这样就避免了很多重复开发。

三、知识准备我写这篇文章并不是面向Java的初学者,而是面向有一定Eclipse使用基础的开发者。

所以我假设你已经具备一下基本知识:1、Java基础2、用过Eclipse进行开发3、SWT/JFace开发基础(可选)如果你还不具备上述条件,那么看我的文章你会看的很郁闷,建议你先去学习这些基本知识。

四、Eclipse组件在开发Eclipse插件(RCP可以看成是Eclipse的插件,只不过是脱离Eclipse运行的)之前,得先对Eclipse的结构有个了解。

这里我简单介绍一下Eclipse的基本组件,这些名词可能比较陌生,但这都是开发Eclipse插件必须了解的。

如上图所示,我逐一介绍一个各个组件:1、Menu bar:这个东西你一定不陌生,每个软件都有的。

不过Eclipse的菜单栏是动态的,也就是说,根据所编辑的内容不同,显示的菜单也可以不一样。

2、Tool bar:这个东西也是每个软件都有的,和菜单栏一样,工具栏也是可以根据所编辑的内容不同而不同。

3、Editor:编辑器,Eclipse的主要编辑工作是在Editor里面完成的。

4、View:视图,视图是为了方便用户编辑提供一些辅助功能或编辑一些属性。

比如最常见的Outline视图往往用来提供当前编辑的文档的结构。

5、Page:页,一个页表示了当前用户的工作状态,包括View和Editor。

6、Workbench Window:涵盖所有上述组件的组件叫做工作台窗口(这个名词的翻译我没见到过,我这里纯粹是直译,感觉有些词不达意)。

Eclipse是允许创建多个工作台的。

通过Window->New window菜单可以创建当前工作台的副本。

除了这些组件以外我还要介绍另外两个概念,一个是“Work Space”,在Eclipse启动的时候都要求指定一个Work Space,而且Work Space是不能被共用的。

也就是说在同一时间,同一个Work Space只可以被一个Eclipse使用。

但是一个Work Space是可以被多个Workbench Window共享的。

很容易联想到,Workbench Window上面还有一层Workbench。

事实上Workbench才是Eclipse的UI的最高管理者。

另外一个概念是“Perspective”,中文翻译是“透视图(或者观察点)”。

所谓Perspective是指当前Page的布局。

最常见的是Java透视图和Debug透视图,可以看到这两个透视图的Page排布完全不一样。

通过切换透视图可以很方便的切换开发环境以完成不同功能的开发。

这里可以看出View和Editor的区别,Editor是在不同的透视图中共享的,而View不是。

五、开发前的准备Eclipse是自带插件开发环境PDE(Plug-in Develop Environment)的,所以要开发Eclipse 插件只需要下载一个标准的Eclipse即可。

我现在用的Eclipse版本是3.1.2,是最新的稳定版,建议下载这个版本进行开发(我用的是英文版,所以下文提到的Eclipse相关的选项都是英文描述)。

虽然Eclipse生来就是开放的插件平台,但是Eclipse插件,特别是RCP是从3.0开始才走红的。

Eclipse 3.0是一个具有里程碑意义的版本,它对Eclipse以前的结构做了一定的改进,并且升级了PDE,极大的简化了插件开发的配置,基本上实现了插件开发全图形的化操作,使得插件开发人员可以专注于插件功能的开发,而不用去管琐碎的配置文件。

六、第一个RCP程序Eclipse提供了一些RCP程序的模板,通过PDE的插件创建向导能直接生成一个可用的RCP程序。

首先要新建一个Plug-in Project然后输入Project名字,其他都用默认选项就行,点击“next”在Rich Client Application部分选择“Yes”,点击“Next”模板选择Hello RCP,点击“Next”点击“Finish”将提示转换到Plug-in development perspective,选择“Yes”。

我们先看一下刚才新建的RCP的运行结果,右键点击“Demo”project,选择Run As,选择Eclipse Application,就可以看到一个最简单的RCP程序窗口。

接下来我先分析一下这个应用程序的结构。

在Demo包下面有六个类和三个配置文件,下面我解释一下这些元素:1、Application:这个类是程序的入口,虽然没有Main函数,但是这个类实现了IPlatformRunnable接口,当JVM完毕,初始化RCP框架以后会调用这个类的run函数来完成UI设置和开始执行我们指定的程序功能。

在绝大多数RCP程序中,这个类不用更改。

2、ApplicationActionBarAdvisor:简单的说这个类是用来配置程序的菜单栏和工具栏的,具体的应用在后面会讲到。

3、ApplicationWorkbenchAdvisor:这个类是RCP程序的Workbench,RCP是Eclipse的简化,但是所有的组件都是和Eclipse一样的。

一个RCP程序也只能有一个Workbench。

4、ApplicationWorkbenchWindowAdvisor:这个类是RCP的WorkbenchWindow,隶属于当前的Workbench。

可以有多个WorkbenchWindow。

5、DemoPlugin:这个类代表了我们的插件,因为RCP程序也是一个插件,Eclipse中所有的插件都必须继承AbstractUIPlugin。

这个类为我们提供了很多和插件相关的信息,比如插件的资源,配置等等。

6、Perspective:是我们新建的RCP的默认透视图。

可以在这个类中指定View和Editor的排布。

7、plugin.xml:这个文件是我们插件的配置文件,包括我们的插件用了哪些其他的插件,具体是怎么配置这些插件的等等。

8、build.properties:这个文件是用来配置我们插件的编译信息的,用来指定如何编译我们的插件。

9、MANIFEST.MF:这个文件用来指定我们插件的元数据,比如插件的版本信息。

一般来说,这个文件不用手动的去更改。

七、添加菜单和工具栏这一节我演示以下如何为程序创建菜单和工具栏。

在创建菜单和工具栏之前我想先介绍一个概念“Action”。

开发Eclipse插件会经常看到这个东西,它和事件处理有点相似,如果你了解JFace的话,这里的Action你应该很熟悉,两者是一样的,我们自己定义的Action必须继承org.eclipse.jface.action.Action。

程序可以定义当用户执行某项操作时触发某个Action。

比如用户点击工具栏的一个按钮,或者选中了某个菜单项。

下面我们创建一个类HelloActionpublic class HelloAction extends Action{private IWorkbenchWindow window;public HelloAction(IWorkbenchWindow window){this.window = window;this.setText("Hello");ImageDescriptor imgDes =WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_ETOOL_HOME_NAV);this.setImageDescriptor(imgDes);}}由于Action是一个UI元素,所以往往创建一个带IWorkbenchWindow参数的构造函数,以便在Action内部调用。

setText()是设置Action对外显示的名字。

setImageDescriptor()是设置Action的图标,这里我为了简化,用的是Eclipse Workbench自带的图标。

下面增加一个run方法,功能是弹出一个对话框显示“Hello World!”public void run(){MessageBox mb = new MessageBox(window.getShell(), SWT.OK);mb.setMessage("Hello world!");mb.setText("Demo");mb.open();}这里你可以看到构造函数传入window的好处了吧。

上述代码都很简单,我不多解释,接下来我们把创建的Action关联到菜单栏和工具栏上。

我们可以把同一个Action同时关联到多个菜单项和工具栏按钮,这和事件处理中的事件处理函数可以被多个事件共享一样。

上文我已经提到过,ApplicationActionBarAdvisor是用来配置工具栏和菜单栏的,那么我们现在来看以下具体如何操作。

相关文档
最新文档