极好的Eclipse_RCP零基础学习(带图解)
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使用方法[精髓]
附录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)
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菜单、视图
作业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进行桌面程序开发(一):快速起步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黑油数值模拟基础斯伦贝谢科技服务(北京)有限公司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++简易教程
一、预备工作 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用于何处? 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
Eclipse启动过程(源码级剖析)
Eclipse启动过程(源码级剖析)双击eclipse安装目录下的eclipse.exe运行后,会加载同一目录下的eclipse.ini文件(对应RCP项目也是一样,在RCP的安装目录下会有一个RCPName.ini文件):Java代码1.-startup2.plugins/uncher_1.2.0.v20110502.jar3.4.--launcher.library5.plugins/uncher.win32.win32.x86_1.1. 100.v201105026.-product.eclipse.epp.package.rcp.product8.--launcher.defaultAction9.openFile10.-showsplash.eclipse.platform12.--launcher.XXMaxPermSize13.256M14.-vmargs15.-Dosgi.requiredJavaVersion=1.516.-Xms40m17.-Xmx512m这里要说一下,Eclipse的JVM启动的时候找JRE的顺序是:如果eclipse.ini中配置了-vm参数,那么则使用这个参数指定的JRE(jvm.dll库路径);否则,查看eclipse安装目录下是否有JRE文件夹,如果有的话就使用这个JRE;否则,去系统注册表中查找安装的JRE,如果还找不到就报错。
所以如果不想卸载掉其他的JDK的话,可以有两种方式:直接把要使用的JRE文件夹拷贝到Eclipse目录下修改eclipse.ini文件,添加-vm参数,指定要运行的虚拟机的地址,形如:-vmC:\ProgramFiles\Java\jdk1.6.0_12\bin\..\jre\bin\client\jvm.dll(在eclipse.ini文件中添加配置项时,有空格就换行,不然会当成无效参数)eclipse.ini文件中:-startup 指定启动的入口为:安装目录下plugins/uncher_1.2.0.v20110502.jar 会加载该jar包中的uncher.Main.class类并调用其main(String)完成app的启动过程通过一个Exception.printStackTrace()方法来看一下Eclipse的大概启动过程:图中是打印的状态栈,从下往上就是整个Eclipse(或者说RCP程序)的加载和启动过程,一直到App的启动。
ECLIPSE油藏数值模拟软件操作技巧2009v1
ECLIPSE 数值模拟软件使用技巧 数值模拟软件使用技巧
I
目
录
第一部分 ECLIPSE 前后处理软件使用技巧 ..............................................................................1 如何使用 PVTi 进行 PVT 实验拟合.........................................................................................1 如何使用近井筒模型创建水力压裂裂缝..................................................................................7 如何在 GRAF 软件中生成沿随水平段的产量曲线 ................................................................10 如何将 Petrel 网格导入 Eclipse ...........................................................................................12 如何简便调整网格水体的大小 ..............................................................................................13 如何使用结构化网格模型创建非结构化网格模型 .................................................................16 如何用 SCAL 查看端点标定曲线 ..........................................................................................26 如何创建观测数据并在 Office 中进行显示............................................................................29 如何从 SUMMARY 文件统计月度生产数据 ..........................................................................34 如何在 ECLIPSE Office 里可视化编辑网格属性 ..................................................................36 如何把角点网格转化成块中心网格 .......................................................................................39 第二部分 ECLIPSE 关键字使用技巧........................................................................................43 如何使用示踪剂功能分析注采情况 .......................................................................................43 如何灵活使用 UDQ、UDA 与 ACTIONX..............................................................................45 如何修改负压缩体积错误 .....................................................................................................51 如何正确理解 ECLIPSE 中井/井组控制................................................................................53 如何分层输出井的生产数据 ..................................................................................................58 如何使用井列表和动态井列表(E300)进行多井批操作 .....................................................59 如何在数模模型中建立倾斜的油水界面................................................................................61 如何使用 ACTIONX 按顺序和条件自动射孔完井 .................................................................63 如何用动态分区和 ACTION 关键词进行生产控制 ................................................................65 如何使用多段井(MSW)模拟多分支井 ..............................................................................66 第三部分 ECLIPSE 综合使用技巧 ...........................................................................................69 如何在 PETREL 中生成油柱高度等值线图 ..........................................................................69 如何将 VIP 模型数据转化为 ECLIPSE 数据格式..................................................................71 如何在 Linux 系统中配置 ECLIPSE 许可证随开机自动启动 ................................................73
2017最新Eclipse-中文教程-完美版
2017eclipse 最新中文版教材1.Eclipse简介Eclipse就像软件开发者的『打铁铺』,它一开始备有火炉、铁钻与铁锤。
就像铁匠会用现有的工具打造新的工具,也能用Eclipse打造新工具来开发软件-这些新工具可扩充Eclipse的功能。
(Eclipse其中一个卖点就是它的扩充性)1.1历史背景Eclipse这样功能完整且成熟的开发环境,是由蓝色巨人IBM所释出。
IBM花了4千万美金来开发这个IDE(Integrated Development Environment)。
第一版1.0在2001年11月释出,随后逐渐受到欢迎。
Eclipse已经成为开放原始码计划(Open Source Project),大部分的开发扔然掌握在IBM手中,但是有一部份由的软件联盟主导。
()Eclipse项目由Project Management Committee(PMC)所管理,它综观项目全局,Eclipse项目分成3个子项目:●平台-Platform●开发工具箱-Java Development Toolkit(JDT)●外挂开发环境-Plug-in Development Environment(PDE)这些子项目又细分成更多子项目。
例如Platform子项目包含数各组件,如Compare、Help与Search。
JDT 子项目包括三各组件:User Interface(UI)、核心(Core)与除错(Debug)。
PDE子项目包含两各组件:UI与Core。
1.2开发原始码软件Eclipse是开放原始码,结果很多人在使用的时候都不注重合法权的问题。
开放原始码软件让使用者能够取得软件的原始码,有权去修改和散布这个软件。
如果想修改软件,这件事的另一面就是,除非其它人对修改后的软件也有相同的权力,否则是不能散布修改后的软件,这种权利和著作权(copyright)相反,开放原始码项目中有时称之为著作义(copyleft)。
eclipse使用教程
eclipse使⽤教程PS:最近很多同学问我eclipse不知道怎么⽤,那我们出⼀个eclipse的教程Start:为了你们⽅便理解,我放中⽂版和英⽂版双截图,你们可以对照理解1.##双击eclipse后会弹出这个界⾯这⾥显⽰的是⼀个⼯作空间(workplace)的对话框,⼯作空间⽤来存放你的项⽬⽂件,你可以使⽤程序默认的,点击确定即可,你也可以重新选择⼀个⽂件夹来存放你的⽂件,那点击浏览,重新指定你的项⽬⽂件存放的⽬录:如果你不想下次弹出这个窗⼝,可以默认设置2.接下来会弹出⼀个欢迎界⾯,⾥⾯有许多向导,可以打开很多⼈熟知的helloworld也可以选择关闭进⼊eclipse界⾯(因为我们这⾥已经不是第⼀次进⼊界⾯了,所以没有弹出,你们默认关闭就⾏3.⾸先,创建项⽬,弹出⼀个窗⼝:44.窗⼝如下:(也可直接跳过)java项⽬-->下⼀步5.填写项⽬名字,点击finish:6.完成接下来是项⽬内创建类的步骤(public class)创建⼀个类之前先创建⼀个包(package)(为了易于管理)创建⼀个包(package)在包中新建类:填写类名,类的属性:可以提前勾选main⽅法7.接下来我们输⼊⼀段代码:点击框选的运⾏键,可以看到运⾏结果显⽰在下⽅控制器上:8.编译、运⾏了,Eclipse已经集成了打包功能,当你打好代码,Eclipse已经⾃动帮你编译⽣成字节码了(语法正确),我们可以在我们创建的⼯作空间(workspace)找到我们创建的包和类⽂件:eclipse还集成了给我们带来很⼤⽅便的功能:eclipse 代码提⽰功能*1.ALT加/会提⽰很多代码输⼊格式:*2.⽐如我们打System.会出现提⽰,这就是代码提⽰功能*3.把光标放在要删除的哪⼀⾏,使⽤快捷键: Ctrl + D可以把删除的那⼀⾏删除*4.想知道更多的功能键可以在 Edit菜单栏查找*5.选中需要注释的代码按Ctrl+”/“即可注释*6.Ctrl+F可以查找所有的需要改变的代码改成需要改变的形式*7.这个功能可以使我们的代码⾃动格式化,变的更加简洁明了好了所有的介绍已经完毕,更多的功能与乐趣也需要你们⾃⼰去慢慢发掘你们找到了另外的任何好玩的功能可以在评论区评论,互相学习改进哈哈另外,eclipse是开源⼯具,也欢迎各位⼤佬去开发新的功能键给⼩弟观摩观摩欸嘿。
Eclipse设置、调优、使用
Eclipse设置、调优、使⽤⼀般在不对eclipse进⾏相关设置的时候,使⽤eclipse总是会觉得启动好慢,⽤起来好卡,其实只要对eclipse的相关参数进⾏⼀些配置,就会有很⼤的改善1.eclipse.ini配置参数Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$ECLIPSE_HOME 没有被定义,则Eclipse安装⽬录下的默认eclipse.ini会⽣效。
eclipse.ini是⼀个⽂本⽂件,其内容相当于在Eclipse运⾏时添加到 Eclipse.exe之后的命令⾏参数。
eclipse.ini 不仅仅可以设置eclipse的堆栈内存⼤⼩,也可设置默认使⽤的jdk版本。
其格式要求:1:所有的选项及其相关的参数必须在单独的⼀⾏之内2:所有在-vmargs之后的参数将会被传输给JVM,所有如果所有对Eclipse 设置的参数必须写在-vmargs之前(就如同你在命令⾏上使⽤这些参数⼀样)3.所有的选项及其相关的参数必须在单独的⼀⾏之内,若参数形如“项值”形式,中间的空格需要换⾏书写,如果值中有空格则需要⽤双引号括起来堆(Heap)和⾮堆(Non-heap)内存按照官⽅的说法:“Java虚拟机具有⼀个堆,堆是运⾏时数据区域,所有类实例和数组的内存均从此处分配。
堆是在 Java 虚拟机启动时创建的。
”“在JVM中堆之外的内存称为⾮堆内存(Non-heap memory)”。
可以看出JVM主要管理两种类型的内存:堆和⾮堆。
简单来说堆就是Java代码可及的内存,是留给开发⼈员使⽤的;⾮堆就是JVM留给⾃⼰⽤的,所以⽅法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运⾏时常数池、字段和⽅法数据)以及⽅法和构造⽅法的代码都在⾮堆内存中。
堆内存分配:JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最⼤分配的内存由-Xmx指定,默认是物理内存的1/4。
eclipse基本使用操作-一定要很熟悉
最常用快捷键快捷键功能备注eclipse常用快捷键在开发中,常用的eclipse快捷键:代码补全:alt + /添加和取消单行注释:ctrl + /添加多行注释:ctrl + shift + /取消多行注释:ctrl + shift + \快速复制所选择的代码:ctrl + shift + ↓或↑(注意:该快捷键和windows屏幕反转快捷键重合,需要禁用windows反转快捷键)移动所选择的代码向下或向下移动:alt + ↓或↑删除所选代码:ctrl + d修正代码:ctrl + 1 当书写的程序中出现小红X可以为错误的代码提供一些解决方案快速导入类所在的包:ctrl + shift + o代码格式化:ctrl + shift + fCtrl+1 快速修复最经典的Alt+/ 提供内容的帮助记不全方法类属性最常用输入try 按alt / 自动出现代码try catch 一般很容易出现异常的代码或者是很容易出错误的代码放在try...catch中Ctrl+O显示类中方法属性和大纲查找bug时非常有用(函数列表)多按一次Ctrl+O 列出更多的内部变量Ctrl+/为每行或者选择部分添加注释调试有用Ctrl+D删除当前行最喜欢的快捷键之一Ctrl+F6 界面切换程序名切换Ctrl+F 查找Ctrl+M窗口最大最小化方便进行代码的书写Ctrl+T 快速显示当前类的继承结构Ctrl+L 定位于某行Ctrl+Shift+R快速查找资源免得左边找Ctrl+F3 打开结构(跟Ctrl+O 类似)Ctrl+Q快速定位到最后一个编辑的地方F4 查看类结构Ctrl+F11 运行Ctrl+Shift+L显示所有的快捷键F11 调试最后一次运行的程序Ctrl+Shift+F最常用格式化某段代码不选择某段代码则格式化化整个Java文件Ctrl+Shift+S 保存所有save allCtrl+H全局搜索Ctrl+Alt+↓复制当前行到下一行Alt+↓当前行和下一行相互交换位置Alt+Enter 显示当前资源(工程或者文件)的属性Ctrl+W关闭当前编辑器Ctrl+E快速显示文件下拉列表Ctrl+/(小键盘)显示当前类的所有代码Ctrl+*(小键盘)关闭当前类的所有代码Ctrl+J 查找当前选中的文本块Ctrl+Shift+J 反向查找当前选中的文本块从后往前找Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)上面是最常用的研读代码经常用的不用会很晕Crtl+O切换查看方法(当前查找类成员)Ctrl+T看继承关系重构最常用的快捷键:(注:一般重构的快捷键都是Alt+Shift开头的了)Alt+Shift+R重命名(是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)Alt+Shift+M 抽取方法(这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)Alt+Shift+F 把Class中的local变量变为field变量(比较实用的功能) Alt+Shift+I 合并变量(可能这样说有点不妥Inline)Alt+Shift+V 移动函数和变量(不怎么常用)Alt+Shift+Z 重构的后悔药(Undo)正则表达式:其实就是定义一些规则来简化String字符串的操作通过一些特定的符号组成规则来限定字符串预定的规则正则表达式的书写:是由字母、数字等一些程序中经常使用的符号组合而成学习正则表达式其实就是学习正则中的各种符号(主要了解各种正则符号的含义)正则表达式的符号规则:一般规则:x 表示一个任意字母,字符串中当前某个位置必须包含所指定的x字符例:“abc” 正则:”a[a-z]”\\ 表示反斜线例:\t 表示制表符[abc] 表示当前字符串中某个字符必须是a或b或c []表示是一个范围[^abc] 表示不是[abc][a-zA-Z] 表示所有的大小写字母[a-d[f-h]] 表示字符的范围必须是a到d或f到h (并集)[a-d&&[d-f]] 表示字符的范围必须是d (交集)[a-z&&[^xm]] 表示字符的范围在a到z之间但是不包含x和m[a-d&&[^d-f]] 表示字符的范围必须是a或b或c预定义字符:. 表示任意字符\d 表示的就是数字可以代替[0-9]\D 表示[^0-9]\w 表示字母、数字、下划线可以代替[a-zA-Z_0-9]\W 表示[^a-zA-Z_0-9]\s 表示空白字符边界符:^ 表示行开始$ 表示行结束例:”helloworld” 正则:”^h 此处中间有正则d$数量词:x? 表示可以有0次或1次字符?表示前面的字符可以有0或1次x*表示可以有0次或多次字符*表示前面的字符可以有0或多次x+ 表示可以有1次或多次+表示前面的字符可以有1次或多次x{n}表示必须有n次{n}表示前面的字符只能有n次x{n,}表示至少有n次{n,}表示前面的字符必须有n次以上(不能少于n次) x{n,m} 表示从n到m次{n,m}表示前面的字符有n到m次正则表达式中只有4种功能:匹配、切割、替换、获取正则只属于字符串使用,而正则也是对字符串进行操作(匹配、切割、替换、获取)Eclipse界面简单设置1.重置为默认视图2.查看某一视图(恢复某一视图界面)3.代码模版(删除多余的或者自定义代码模版)4.配置快捷键window-preferences-General5.调整代码字体大小颜色6.显示代码行号7.导入包,资源,光标选中单词,按住ctrl,出现小手标识,单词出现超链接,点击弹出底层源代码9.改文件名称10.小光标放置ctrl+e或者双击11.Tab切换光标往前走,Shift+Table光标往回走12.ALT+CTRL+箭头上复制往上走13.ALT+箭头上往上走14.F4查找树15.查看代码的class文件16.Ctrl+f 查找替换某些内容17.Alt+shift+s???18.格式化代码Ctrl+Shift+f19.ctrl+shift+o代码中导入多个包20.Domain 域,主要描述某一领域的事物动物界等等21.Ctrl+/单行注释Ctrl+/取消单行注释Ctrl+shift+/多行注释Ctrl+shift+\取消多行注释22.Ctrl+A选中全部23.新建文件(.txt...)Eclipse快捷键使用1. 【ALT+/】此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。
Eclipse使用手册
Eclipse手册1. File菜单操作导入工程1、点击File菜单选中“Import”2、在弹出的对话框选中“Existing Rrojects into Workspace”3、选择工程所在目录完成导入。
导入工程方便在于省去创建步骤;但如果工程不完整(比如无.project 文件)则只能重新创建导出为JAR1.点击File菜单选中[Export]--< JAR file>点’Next’2.在源工程中选择要打进JAR包的文件3.选中‘Export .......’中的一种或多种,第一个表示对类文件.class打包,第二个表示将整个工程文件(无java文件),第三个表示将类.java文件打包。
‘Select the export destination:’选择打包到哪个目录,点击‘Finish’即可导出工程1.选择工程项目右键执行Export。
弹出下图2.选择File System点击Next到下图,此举可以避免将svn之类文件导出2. Window菜单操作Show View项目显示的格式,Eclipse中项目树形显示常用形式如下:1、总树分支式使用[window]--<show view>--<Navigator>2、分支式使用[window]--<show view>--<Package Explorer>3、Declaration显示Windows --> Show View -- > Declaration:选中代码中的一个方法, 然后按这个按键,它会把整个方法在申明方框里显示出来。
如下选中了类中的execute方法,则下方的Declaration将这个方法显示出来Preferences高亮Windows->Preferences->Java-> Editor-> Mark Occurrences,勾选选项。
使用RCP进行程序开发(学习篇)
使用RCP进行程序开发(学习篇)背景由于8808站端(RPU)配置客户端是使用富客户端技术来进行开发的,自己在维护该项目之前并没有接触过该技术,以下就总结一下自己学习的过程。
简介RCP 的全称是 Rich Client Platform,富客户端技术。
RCP 给开发者带来的更多的感觉是在它充分发挥了插件化系统的优势,从 RCP 的设计中,可以学习到如何将应用做到模块化、将应用做到动态化,甚至还可以学习到如何自动生成界面这样的设计思想。
Eclipse RCP体系结构如下:Workbench SWT/JFace Workspace Help TeamPlatform Runtime(1)Wrokbench工作台为Eclipse提供用户界面。
它是使用SWT(Standard Widget Toolkit)和一个更高级的API(JFace)来构建的;SWT是Java的Swing/AWT GUI API的非标准替代者,JFace则建立在SWT基础上,提供用户界面组件。
(2)Workspace工作区工作区是负责管理用户资源的插件。
它包括用户创建的项目、项目中的文件,以及文件变更和其它资源。
工作区还负责通知其它插件关于资源变更的信息,比如文件创建、删除或者变更。
(3)Help帮助系统帮助组建具有与Eclipse平台本身相当的可扩展能力。
与插件向Eclipse添加功能相同,帮助提供一个附加的导航结构,允许工具以HTML文件的形式添加文档。
(4)Team团队支持系统团队支持组件负责提供版本控制和配置管理支持。
它根据需要添加视图,以允许用户与所有使用的任何版本控制系统交互。
大多数插件都不需要与团队支持组件交互,除非它们提供版本控制服务。
(5)Platform Runtime运行平台平台运行库是整个Eclipse的内核,它在启动时检查已安装了哪些插件,并创建关于它们的注册表信息。
为降低启动时间和资源使用,它在实际需要某个插件的时候才加载该插件。
AutoLISP从入门到精通初级教程[新手必备]
AutoLISP入门单元一:AutoLISP主角登场 (2)单元二:AutoLISP的关键、基本结构及语法 (4)单元三:快速分类浏览AutoLISP功能函数(一) (10)单元四:快速分类浏览AutoLISP功能函数(二) (13)单元五:轻松快速的掌握AutoLISP设计技巧 (16)单元六:图元数据的取得与活用技巧(一) (21)单元七:图元数据的取得与活用技巧(二) (25)单元八:新手上路-参数设计的关键技巧 (32)单元一:AutoLISP主角登场一. AutoLISP 是何方神圣?1、AutoLISP是AutoCAD的最佳拍檔!2、AutoLISP内含于AutoCAD软件内,不用另外花钱买!3、AutoLISP是强化AutoCAD最好、最直接的『程序语言』!4、AutoLISP易学、易用,即使不会程序设计的AutoCAD使用者,都能在最短的时间内,写出令人惊讶、赞叹的功能!若说AutoLISP的出现,是替 AutoCAD 创造一片天的『最大功臣』,实不为过一点也不夸张!5、AutoLISP希望您去学习它、改善它、发挥它、享受它.真的!它的威力、魅力无穷!二. AutoLISP 程序语言的特质分析:学习AutoLISP是非常容易的,对初学者而言,即使没有学习过任何的程序语言,都能很快的上手,写出精彩漂亮的AutoLISP程序!语法简单:不用特殊的变量宣告,非常富有弹性,比起其它的程序语言,它的语法可说是非常简单而有其独特的风格!功能函数强大:除一般性的功能函数外,又拥有为数不少控制配合AutoCAD的特殊函数,再加上AutoLISP可直接呼叫执行所有AutoCAD的指令,以及掌握运用所有的AutoCAD系统变量,功能之强大令人欣喜不已!撰写的环境不挑剔:只要是一般的文书编辑软件都适用! 如:Windows的记事本、PE2、PE3、DW3、书中仙、汉书、EDIT....等直译式程序:不用再作编译,『即写即测、即测即用』,马上可以在AutoCAD中响应效果,马上就有成就感!横跨各作业平台:悠然自得,虽然AutoCAD有DOS、Windows版本之分但是AutoLISP却可在不改写的原貌下,加载与执行!三.撰写 AutoLISP 的动机?1、欲强化 AutoCAD 原有指令时.2、欲创造更有用的 AutoCAD 新指令.3、欲简化繁琐的环境设定或绘图步骤时.4、欲处理参数式绘图时.5、欲做图面资料读文件、写文件.6、欲做 AutoCAD 简报展示时.7、欲达到真正灵活掌控 AutoCAD 时.8、欲提升自己跨上 AutoCAD 高手列车时.四.AutoLISP 的效益评估?1. 对公司负责人或设计主管而言:A. 也许某员工或干部花了20个小时撰写一个AutoLISP程序,表面上,这将近三天的时间,他连一张图都没有画,甚至可能偶有发呆、沈思,若此程序一天可以替公司绘图部门节省1小时绘图时间,那算一算,只要20天就抵销开发成本,而20天以后都是赚的,『用的愈久,省的愈多』!B. 若员工皆有此动力,在不影响正常工作,『鼓励』都来不及,那有『压抑』的道理,甚至还要派遣优秀人员出去受训,学习更好的设计技巧与创意呢?!C. 千万不要因为您的不懂或压抑,SHOW您的权威与POWER,如此,不但对员工造成打击,甚至您可能成为阻碍了公司计算机化进步的罪魁祸首D. 当然,若要撰写的程序很多,内部设计人员的程序功力距离太远,达成需求的时间反而变得遥遥无期,那倒不如求助于市面上已有的相关 AutoCAD 支持软件。
EclipseRCP教程
最近在客户端软件开发过程中,使用到了Eclipse RCP的若干技术,有种相见很晚的感觉。
尽管自己在日常开发中也使用了SWT中的若干技术,在运用了Theme之后看起来也让人眼前一亮,但是比起RCP 就相当于闭门造车了,例如下面两幅图片,就是SWT技术和RCP 技术开发出的不同界面,后者看起来是不是很炫呢,用流行的话来讲,就是使用户的体验更rich了,呵呵。
SWT界面:Eclipse RCP界面:好了,既然Eclipse RCP开发出的界面如此漂亮,那我们就可以借助Eclipse RCP平台中各类UI组件来改善应用程序上的UI缺陷,通过RCP平台上的各类丰富的GUI视图,来打造赏心悦目的应用程序。
但是在RCP开发的过程中,UI视图之间是相互依赖的,需要进行交互,目前国内教程对这一步骤往往语焉不详,下文就以实例的形式详细介绍Eclipse RCP View视图之间的交互机制,并总结了开发过程中的一些注意事项,避免大家绕了弯路,呵呵。
(一)下载最新的Eclipse RCP开发环境开发RCP的首要前提是下载RCP开发环境,从/上可以下载,下载之后是个zip格式文件,解压到任何目录下都可以直接运行,前提是装好jdk。
在Eclipse的官方网站上,针对不同的开发环境,已经为我们打好了不同的package,只要下载专门用来开发RCP的package即可。
当然如果你已经安装了Eclipse普通开发环境,想增加RCP相关的开发功能,需要通过Eclipse的update功能来添加就可以了,不过后者采用在线安装的方式,容易引起packge插件下载不全,导致开发时出现莫明其妙的错误,因此推荐第一种方案。
(二)新建并运行Eclipse RCP项目Eclipse安装并启动完毕之后,我们可以以插件的形式新增一个RCP模块,在该模块的基础上再添加不同的视图,这样就为下一步打下了良好的基础:在Eclipse的Package Explorer中单击右键,选择菜单第一项“new”,在弹出的子菜单中选择“other”,在对话框中如下图选择:在弹出对话框的“project name”栏中填入自己的项目名称,例如“hellorcp“,其余选项保持默认状态,点击下一步,在Plugin content对话框中“Rich Client Application”中,选择"YES",如下图所示:选择YES表示除了新建一个插件之外,还愿意将其转换成一个RCP应用,以便以后脱离Eclipse开发环境而独立部署,而插件是不能独立运行的,必须依附Eclipse而运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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是用来配置工具栏和菜单栏的,那么我们现在来看以下具体如何操作。