Eclipse插件开发指南
[计算机软件及应用]Elipse插件开发手册
E l i p s e开发指南目录第1章第6章SWT概述 (17)1.1 SWT简介 (17)1.1.1 使用用向导建立一个SWT/JFace Java项目 (18)1.1.2 导入SWT的原生库 (19)1.1.3 新建一个SWT类文件 (21)1.1.4 在主窗口加入一个文本框组件 (22)1.1.5 运行HelloWorld.java (24)第2章第7章SWT/JFace的事件模型 (25)2.1事件的四种写法 (25)2.1.1 匿名内部类写法 (26)2.1.2 命名内部类写法 (26)2.1.3 外部类写法 (27)2.1.4 实现监听接口的写法 (27)2.1.5 总结 (28)2.2 7.2 常用事件介绍 (28)2.3 在事件代码中如何访问类中的变量 (29)2.3.1 访问类中的变量的三种方法 (29)2.3.2 Java中变量的称法和说明 (30)2.4 本章小结 (31)第3章第9章Eclipse的J2EE开发 (31)3.1 WEB环境的搭建(V0010) (31)3.1.1 下载CVS版本注意事项 (31)3.1.2 Tomcat的下载与安装 (32)3.1.3 Lomboz的下载与安装 (35)3.1.4 Lomboz的环境设置 (36)3.1.5 JSP的HelloWorld (37)3.1.6 如何不必发布就可以在IE上显示WEB修改效果 (42)3.1.7 配置Tomcat的数据库连接池 (43)第4章第17章Eclipse插件开发起步 (46)4.1 Eclipse插件开发简介 (46)4.2 插件的Hello World (47)第5章第18章常用插件扩展点 (55)第6章第21章项目打包与发行 (58)6.1应用程序项目的打包与发行 (58)6.1.1 简介 (58)6.1.2 7.1.2 打包的具体操作步骤 (59)6.1.3 7.1.3 其他得到JAR包的方式 (64)6.1.4 7.1.4 让用户电脑不必安装JRE环境 (67)6.1.5 7.1.5 更进一步的完善 (67)第7章插件项目实战篇 (76)7.1 前期准备工作 (76)7.2 面向对象分析和数据表创建(版本V0010) (76)7.2.1 8.2.1 界面效果及实现功能 (76)7.2.2 8.2.2 面向对象的分析与设计 (77)<<Eclipse开发指南>>的最终目录出版日期估计是4-5月份第1章Eclipse简介 (8)1.1 Eclipse的历史 (8)1.2 Eclipse的体系结构 (8)1.3 优秀的图形API:SWT/JFace. 91.4 开放式、可扩展的IDE. 101.5 全中文化的帮助文件 (10)1.6 Eclipse是开放源代码的 (11)1.7 本章小结 (11)第2章安装Eclipse及多国语言包 (12)2.1 安装JDK. 122.2 安装Eclipse. 122.3 Eclipse多国语言包的安装 (14)2.4 本章小结 (16)第3章安装SWT Designer 173.1 下载 (17)3.2 安装 (17)3.3 注册激活 (18)3.4 其他常用插件 (20)3.5 本章小结 (21)第4章Eclipse的集成开发环境 (22)4.1 Eclipse界面简介 (22)4.2 创建Java项目并运行 (23)4.3 自定义注释及代码格式化 (27)4.3.1 自定义注释 (27)4.3.2 代码格式化 (29)4.3.3 实践建议 (30)4.4 使用Eclipse的重构功能 (30)4.5 任务标记 (31)4.5.1 任务标记的设定 (31)4.5.2 过滤任务标记 (32)4.6 在编程时随意查看JDK、Eclipse源代码 (33)4.6.1 查看JDK源代码 (33)4.6.2 查看Eclipse的源代码 (34)4.7 在代码中搜索 (36)4.8 打开类型层次结构 (37)4.9 调试器的使用 (38)4.10 常用快捷键 (39)4.11 本章小结 (40)第5章Eclipse中CVS的使用 (41)5.1 CVS简介 (41)5.2 CVS服务器端的安装与配置 (41)5.3 CVS客户端的配置 (43)5.4 文件提交与更新的方法 (48)5.4.1 CVS和VSS的不同之处 (48)5.4.2 文件的提交和更新 (48)5.4.3 解决文件提交的冲突 (50)5.4.4 如何忽略掉不想提交的文件 (51)5.4.5 实践建议 (52)5.5 在CVS上为软件打包一个版本 (52)5.6 将项目替换成CVS上的其他版本 (53)5.7 修改过去版本的BUG.. 545.8 本章小结 (55)第6章SWT概述 (56)6.1 SWT简介 (56)6.2 SWT中的包 (56)6.3 用SWT Designer写一个Hello World. 576.4 关于SWT/JFace例程的说明 (64)6.5 实践建议 (65)6.6 本章小结 (65)第7章SWT/JFace的事件模型 (66)7.1 事件的四种写法 (66)7.2 常用事件介绍 (68)7.3 在事件代码中如何访问类中的变量 (68)7.3.1 访问类中的变量的三种方法 (68)7.3.2 Java中变量的称法和说明 (69)7.4 本章小结 (70)第8章SWT常用组件 (71)8.1 按钮、复选框、单选框(Button类) (71)8.2 组件的常用方法 (72)8.3 标签(Label类) (73)8.4 文本框(Text类) (74)8.5 下拉框(Combo类) (76)8.6 列表框(List类) (78)8.7 本章小结 (79)第9章容器类 (80)9.1 面板(Composite类) (80)9.2 分组框(Group类) (80)9.3 选项卡(TabFolder类、TabItem类) (81)9.4 分割窗(SashForm类) (83)9.5 带滚动条的面板(ScrolledComposite类) (84)9.6 本章小结 (86)第10章布局管理器 (87)10.1 布局管理器简介 (87)10.2 充满式(FillLayout类) (87)10.3 行列式(RowLayout类) (89)10.4 网格式(GridLayout类) (92)10.5 堆栈式(StackLayout类) (98)10.6 表格式(FormLayout类) (100)10.7 布局的综合实例 (103)10.8 本章小结 (108)第11章其他SWT组件 (109)11.1 工具栏(ToolBar类、ToolItem类、ViewForm类) (109)11.2 动态工具栏(CoolBar类、CoolItem类) (110)11.3 菜单(Menu类,MenuItem类) (113)11.4 滑动条(Slider类)、刻度条(Scale类)、进度条(ProgressBar类) (115)11.5 画布(Canvas类) (116)11.6 表格(Table类) (118)11.7 树(Tree类) (119)11.8 表格型树(TableTree类) (120)11.9 本章小结 (122)第12章图像 (123)12.1 图像(Image类) (123)12.2 图像(Image类)存在的问题 (124)12.3 图像描述符(ImageDescriptor类) (124)12.4 图像注册表(ImageRegistry类) (125)12.5 本章小结 (126)第13章SWT的线程 (127)13.1 SWT线程简介 (127)13.2 一个SWT线程的实例 (127)13.3 对11.4节进度条实例的改进 (131)13.4 本章小结 (133)第14章表格(TableViewer类) (134)14.1 前言 (134)14.2 让数据在TableViewer中显示出来 (134)14.3 TableViewer响应鼠标事件 (140)14.4 加上右键菜单(Action类、ActionGroup类、MenuManager类) 14114.5 TableViewer排序(ViewerSorter类) (143)14.6 加上工具栏(ToolBarManager类) (145)14.7 创建一个带复选框的TableViewer(CheckboxTableViewer类) (149)14.8 单击修改表格单元格值(CellEditor类、ICellModifier接口) (151)14.9 其他使用技巧 (154)14.10 本章小结 (155)第15章树(TreeViewer类)和列表(ListViewer类) (156)15.1 树简介 (156)15.2 前期准备:实例所用数据模型说明 (156)15.3 让数据在树中显示出来 (158)15.4 给树加上右键菜单及取得结点的值 (163)15.5 树结点的展开、收缩、新增、删除、修改 (164)15.6 ListViewer简介 (168)15.7 ListViewer的实例 (168)15.8 ListViewer常用方法 (169)15.9 本章小结 (169)第16章对话框 (170)16.1 对话框(Dialog类) (170)16.1.1 对话框简介 (170)16.1.2 信息提示框(MessageDialog类) (171)16.1.3 输入值对话框(InputDialog类) (172)16.1.4 自定义对话框(Dialog类) (173)16.1.5 对话框的设置与取值 (177)16.1.6 带提示栏的对话框(TitleAreaDialog类) (178)16.2 向导式对话框(WizardDialog类) (179)16.2.1 向导式对话框简介 (179)16.2.2 向导式对话框实例 (180)16.2.3 向导式对话框使用的注意事项 (184)16.3 进度条对话框(ProgressMonitorDialog类) (185)16.3.1 进度条对话框简介 (185)16.3.2 进度条对话框实例 (185)16.4 其他类型对话框 (187)16.4.1 信息提示框(MessageBox类) (187)16.4.2 颜色选择对话框(ColorDialog类) (188)16.4.3 字体选择对话框(FontDialog类) (188)16.4.4 打印设置对话框(PrintDialog类) (189)16.4.5 目录选择对话框(DirectoryDialog类) (193)16.4.6 文件选择对话框(FileDialog类) (193)16.5 本章小结 (195)第17章Eclipse插件开发起步 (196)17.1 Eclipse插件开发概述 (196)17.2 插件的Hello World. 19617.2.1 使用向导一步步创建HelloWorld. 19617.2.2 以空白项目为基础创建HelloWorld. 19917.3 本章小节 (203)第18章常用插件扩展点 (204)18.1 加入透视图(perspectives) (204)18.2 在透视图中加入视图(views) 20618.3 在视图之间实现事件监听 (208)18.4 给视图加下拉菜单和按钮 (210)18.5 加入编辑器(editors) 21218.6 编辑器类(EditorPart)方法使用说明 (216)18.7 加入首选项(preferencePages) 21918.8 加入帮助(toc) 22418.9 弹出信息式的帮助(contexts) (226)18.10 本章小结 (228)第19章Eclipse插件的国际化 (229)19.1 国际化简介 (229)19.2 为国际化创建一个插件的“段项目” (229)19.3 类程序的国际化 (231)19.4 plugin.xml的国际化 (236)19.5 其他XML文件的国际化 (237)19.6 使用“外部化字符串”向导 (238)19.7 本章小结 (240)第20章报表:用POI与Excel交互 (241)20.1 POI概述 (241)20.1.1 POI简介 (241)20.1.2 POI的下载与安装 (241)20.2 将数据导出成Excel的实例 (244)20.2.1 创建一个空白的Excel文件 (244)20.2.2 往Excel单元格中写入信息 (244)20.2.3 中文化的问题 (245)20.3 使用式样 (246)20.3.1 日期式样及文字对齐式样 (246)20.3.2 边框式样 (247)20.3.3 背景色及底纹式样 (248)20.3.4 合并单元格 (248)20.3.5 字体式样 (249)20.4 更多的用法 (249)20.4.1 设置页眉页脚 (249)20.4.2 冻结和分割窗 (250)20.4.3 浮动文字框及在表中画图 (250)20.4.4 设置打印的范围 (251)20.4.5 读取及修改Excel 25120.5 本章小结 (252)第21章项目打包与发行 (253)21.1 应用程序项目的打包与发行 (253)21.1.1 简介 (253)21.1.2 打包的具体操作步骤 (253)21.1.3 其他得到JAR包的方式 (257)21.1.4 使用第三方插件对项目打包 (258)21.1.5 让用户电脑不必安装JRE环境 (260)21.1.6 更进一步的完善 (260)21.1.7 打包的其他说明 (262)21.2 插件项目的打包与发行 (263)21.2.1 简介 (263)21.2.2 打包的具体操作步骤 (263)21.2.3 测试打包效果 (265)21.3 用Ant来打包 (266)21.4 本章小结 (271)第22章插件项目实战篇 (272)22.1 前期准备工作 (272)22.1.1 软件开发过程 (272)22.1.2 本章项目开发环境的选择 (273)22.1.3 安装MySQL. 27622.1.4 在Eclipse插件中连接MySQL数据库(版本V0001) (279)22.1.5 解决Java的中文问题 (284)22.1.6 对字符集设置的测试结果 (286)22.2 面向对象分析和数据表创建(版本V0010) (292)22.2.1 界面效果及实现功能 (292)22.2.2 面向对象的分析与设计 (293)22.2.3 创建数据表 (301)22.2.4 给数据表插入数据 (305)22.3 创建项目的主界面框架 (306)22.3.1 前言 (306)22.3.2 创建透视图及主功能视图(版本V0020) (307)22.3.3 创建“功能导航器视图”的树(版本V0020) (310)22.3.4 创建项目的图像注册表(版本V0030) (314)22.4 用户登录、退出功能的实现(版本V0040) (317)22.4.1 实现方案 (317)22.4.2 界面部份的源代码 (318)22.4.3 数据库部份的源代码 (323)22.4.4 小结 (328)22.5 “档案管理”编辑器的实现 (328)22.5.1 前言 (328)22.5.2 编辑器的创建与排序、翻页功能的实现(版本V0050) (328)22.5.3 实现删除用户功能(版本V0060) (339)22.5.4 实现新增用户功能(版本V0060) (341)22.5.5 实现修改用户的功能(版本V0070) (353)22.6 “成绩管理”编辑器的实现(版本V0080) (359)22.6.1 前言 (359)22.6.2 单击结点打开视图 (359)22.6.3 实现搜索视图SearchView.. 36022.6.4 实现“成绩管理”编辑器 (364)22.7 让软件适应多种数据库(版本V0090) (366)22.7.1 前言 (366)22.7.2 解决方案 (367)22.7.3 具体实现的源代码 (367)22.8 首选项的实现(版本V0100) (369)22.8.1 前言 (369)22.8.2 首选项的源代码 (369)22.8.3 将程序中的设置值改成取之于首选项的设置 (374)22.9 本章小结 (374)第23章WEB环境的搭建(V0010) (375)23.1 前言 (375)23.2 Tomcat的下载与安装 (376)23.3 Lomboz的下载与安装 (379)23.4 Lomboz的环境设置 (381)23.5 JSP的HelloWorld. 38223.6 如何不必发布就可以在IE上显示WEB修改效果 (386)23.7 配置Tomcat的数据库连接池 (388)23.8 本章小结 (390)第24章一个纯JSP+JavaBean实例(V0020) (391)24.1 JavaBean的环境配置 (391)24.2 创建JavaBean及数据库层 (391)24.3 编写前台的JSP文件 (393)24.4 本章小结 (398)第25章在Eclipse中使用Struts. 40025.1 前言 (400)25.2 Struts的下载及安装(V0030) (400)25.3 Struts入门实例(V0030) (402)25.3.1 Struts原理简介 (402)25.3.2 用户登录实例 (404)25.4 让Dreamweaver支持struts标签 (410)25.5 struts-config.xml再深入 (412)25.5.1 页面转发 (412)25.5.2 <form-beans>项之动态ActionForm.. 41325.5.3 <action-mappings>项 (413)25.5.4 使用DispatchAction类 (414)25.5.5 使用多个struts-config.xml配置文件 (415)25.6 验证的多种方法(V0040) (416)25.6.1 方法一 (416)25.6.2 方法二 (416)25.7 使用更多的struts标签 (423)25.7.1 获知更多的标签 (423)25.7.2 表单类标签 (423)25.7.3 其他说明 (425)25.8 本章小结 (425)第26章在Eclipse中使用Hibernate. 42626.1 前言 (426)26.2 Hibernate的下载和安装(V0050) (427)26.3 一个简单的Hibernate实例(V0050) (431)26.4 继续深入使用Hibernate(V0060) (435)26.5 实现用户的修改、删除功能(V0070) (440)26.6 解决Tomcat的中文问题(V0070) (446)26.7 Hibernate的自动生成工具 (447)26.8 本章小结 (452)第1章第6章SWT概述在这一章里将把SWT和AWT/SWING做了简单的比较,并以一个HelloWorld的Java应用程序(Application)作为起步,让读者可以快速建立对SWT/JFace的感性认识。
Eclipse开发插件
12 while(!shell.isDisposed()){
while循环不断检查窗口帧是否被关闭
13 if(!display.readAndDispatch())display.sleep();
display管理事件循环,readAndDispatch()方法从系统事件队列读取事件,并将它们
.getLog(Bundle) -------返回指定包的日志
.getProduct() -------返回Eclipse产品信息
.inDebugMode() -------如果Eclipse是运行于调试模式,返回true,当用户指定了
-debug命令行参数是,也返回true
*createImageRegistry()返回该插件的新图像注册表,你可以使用该注册表管理插件经常使用的图像,
该方法的默认实现创建一个空注册表,如果需要,则子类可以覆盖该方法。
*getDialogSettings()返回UI插件的对话框,对话框设置保存工作台坏境中该插件的不同向导和对话框
dialogs
Eclipse
<extension piont="">
org.eclipse.ui.views 视图扩展点
org.eclipse.ui.editors 编辑器扩展点
org.eclipse.ui.newWizards 新建向导扩展点
org.eclipse.ui.actionSets 菜单,工具栏按钮扩展点
Team ------> 提供服务的插件组,这些服务用于集成不同类型的源代码控制管理系统(如CVS)至Eclipse IDE
Help ------> 提供作为Eclipse IDE一部分的Eclipse IDE文档的插件
Eclipse的使用简介及插件开发
Eclipse入门-- Eclipse的使用简介及插件开发-JSP教程(1)eclipse入门-- eclipse的使用简介及插件开发2001 年11 月ibm 宣布捐出了价值4 千万美金的开发软件给开放源码的eclipse 项目。
如此受青睐的eclipse 是什么样子呢,如何使用呢?本文的第一部分会使你对eclipse有一个初步的认识。
并且,eclipse这个号称未来能进行任何语言开发的ide集大成者,又将如何实现它的这一宏伟目标?第二部分介绍的eclipse的插件开发将是其中的关键所在。
eclipse 是替代ibm visual age for java(以下简称ivj)的下一代ide开发环境,但它未来的目标不仅仅是成为专门开发java程序的ide环境,根据eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。
目前,eclipse已经开始提供c语言开发的功能插件。
更难能可贵的是,eclipse 是一个开放源代码的项目,任何人都可以下载eclipse的源代码,并且在此基础上开发自己的功能插件。
也就是说未来只要有人需要,就会有建立在eclipse之上的cobol,perl,python等语言的开发插件出现。
同时可以通过开发新的插件扩展现有插件的功能,比如在现有的java开发环境中加入tomcat服务器插件。
可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是eclipse 的潜力所在。
虽然目前eclipse项目还没有最后完成,但从已有的版本中已经能领略到eclipse 设计主导思想和主要功能特点。
现在就了解eclipse不但能使广大程序员对这款业界期望很高的ide能一睹为快,更为重要的是如果能参加到eclipse项目的开发中或是阅读它的开放源代码,这对广大程序员来说无疑是一个千载难逢的提高编程水平的好机会。
eclipse计划提供多个平台的版本,象windows,linux,solaris,hp-ux和aix,以下只介绍windows版本。
Eclipse简单插件制作过程
Eclipse简单插件制作过程下面是Eclipse的一个简单插件制作过程:Eclipse版本:Eclipse3.2中文版创建Eclipse插件有以下5个步骤:1.创建插件2.创建插件扩展3.创建功能部件4.创建更新站点5.安装和卸载功能部件创建插件(1) 打开插件开发透视图要打开插件开发透视图,请选择窗口-> 打开透视图-> 其他...,然后选择插件开发。
(2) 创建插件要创建插件,请执行下列步骤:从主菜单中选择“文件-> 新建-> 项目...”,并从产生的“新建项目”对话框中选择“插件项目”。
在“项目名称”文本框中输入“com.example.helloworld”。
接受“插件项目”页面上预先装入的缺省值并单击“下一步”,如图1所示。
接受“插件内容”页面上预先装入的缺省值并单击“下一步”,从“可用模板”列表中选择“Hello,World”模板并单击“完成”如图2所示。
图1图2 (3) 修改插件从上一步完成新建项目向导后,将对新项目启动插件编辑器,并显示概述页面。
要修改com.example.helloworld 插件,请执行下列步骤:选择“扩展”选项卡,在“所有扩展”标题下展开“org.eclipse.ui.actionSets”树对话框,展开“样本操作集”树对话框,选择“样本菜单”选项,将“扩展元素详细信息”标题下的“标签”文本框替换为“Hello!”,如图3所示。
选择“所有扩展”标题下的“样本操作”选项,将“扩展元素详细信息”标题下的“标签”文本框替换为“显示Hello World!”,从主菜单中选择“文件-> 保存”。
图3(4) 测试插件要在目标Eclipse 平台中测试Eclipse 插件,请执行下列步骤:选择“概述”选项卡,在“测试”标题下单击“启动Eclipse应用程序”超链接。
注意,新启动的Eclipse平台的主菜单中将出现“Hello!”条目。
从主菜单中选择“Hello! -> 显示Hello World!”,注意,新启动的Eclipse平台中的主工具栏中将出现带有Eclipse徽标的图标,如图4所示。
TongWeb6 0 Eclipse插件使用手册
T o n g T ec h®TongWeb6.0 Eclipse插件使用说明东方通科技目录目录 (2)1.TongWeb6.0 Eclipse插件简介 (4)2.Eclipse插件功能概述 (4)2.1. Eclipse插件基本功能 (4)2.2. 简化应用开发功能 (4)2.3. 创建数据源 (4)2.4. 全局设置 (4)3.TongWeb6.0 Eclipse插件的安装 (5)3.1.安装WTP插件 (5)3.1.1.从Eclipse官网下载 (5)3.1.2.在Eclipse官网进行更新 (5)3.2.安装TongWeb6.0 Eclipse插件 (7)3.3.卸载TongWeb6.0 Eclipse插件 (7)4.TongWeb6.0 Eclipse插件的使用 (7)4.1.在Eclipse中打开或关闭TongWeb6.0 (7)4.1.1.在“Servers”视图中添加TongWeb6.0应用服务器 (7)4.1.2.启动或停止“TongWeb6.0应用服务器” (12)4.1.3.编辑“TongWeb6.0应用服务器” (14)4.2.使用“TongWeb6.0 Eclipse插件”开发工程 (14)4.2.1.创建并编写“企业级应用”工程 (14)4.2.2.创建数据源 (18)4.2.3.创建EJB2.x Session Bean (20)4.2.4.创建JP A工程 (28)4.2.5.开发WebService (34)4.3.部署工程 (44)4.3.1.打包后通过管理控制台或命令行部署 (44)4.3.2.直接将工程部署到TongWeb6.0应用服务器 (44)4.4.在Eclipse中浏览页面 (46)4.5.使用Debug功能 (46)4.6.解部署工程 (47)5.其他选项功能 (47)5.1. 查看应用服务器的基本信息及配置 (47)5.1.1. 基本信息(General Information) (48)5.1.2. 关于部署的配置(Publishing) (48)5.1.3. 超时时间设置(Timeouts) (48)5.2. 手动重部署应用(Publish) (48)5.3. 清理垃圾文件(Clean) (49)5.4. 部署与解部署项目(Add and Remove Projects) (49)5.5. TCP/IP监听功能(Monitoring) (49)5.6. 在Eclipse中查看管理控制台 (51)5.7. 查看应用服务器的属性(Properties) (51)6.全局设置 (51)6.1. Eclipse日志配置 (52)6.2. 详细显示TongWeb6.0的日志信息 (52)6.3. 以多种颜色显示TongWeb6.0的日志信息视图 (52)7.图形化功能 (53)1.TongWeb6.0 Eclipse插件简介Eclipse是一个开放的Java集成开发环境,通过一系列插件的支持可以方便的进行EJB、JSP/Servlet的开发。
Eclipse插件开发之基础篇(3)插件的测试与调试
Eclipse插件开发之基础篇(3)插件的测试与调试1. 使⽤JUnit对插件进⾏测试 Eclipse中已经嵌⼊了JUnit,我们可以使⽤JUnit为插件进⾏单体测试。
⼀般的JUnit是不可以对插件部分(对Eclipse的API依赖的部分)进⾏测试的,但是在PDE环境中使利⽤JUnit对插件进⾏单元测试成为可能。
要想进⾏测试⾸先要添加插件的依赖关系,在插件设定页⾯的[依赖关系(Dependencies)]页⾯点击[增加(Add)]按钮,添加[org.junit(3.8.2)]作为必须插件(图3-1)。
图3-1 增加org.junit插件的依赖关系 接下来,⽣成测试⽤例(TestCase)。
测试⽤例和⼀般的JUnit⽤例相同,继承junit.framework.TestCase。
代码1中的测试⽤例说明了,在⼯作台页⾯中打开⼀个视图,并且确认打开的视图处于激活状态。
代码1 插件测试⽤例的⽰例public class SampleViewTest extends TestCase {public SampleViewTest(String name) throws Exception {//取得当前活动的页⾯IWorkbench workbench = PlatformUI.getWorkbench();IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();IWorkbenchPage page = window.getActivePage();//打开视图page.showView("cn.sf.amateras.sample.views.SampleView");//确认打开的视图处于激活状态IWorkbenchPart activePart = page.getActivePart();assertTrue(activePart instanceof IViewPart);assertEquals("cn.sf.amateras.sample.views.SampleView",activePart.getSite().getId());}} 当前这个测试⽤例可以通过在测试类上点右键[执⾏(Run As)]->[JUnit插件测试(JUnit Plug-in Test)]执⾏。
Eclipse插件开发教程
JDT开发插件—步骤15
选中HelloWorld1,并点击“确定”按钮, Eclipse中将出现HelloWorld1窗口。
Hale Waihona Puke 下面将介绍直接使用插件开发环境开发 插件的实例。
为何需要使用插件开发环境
在Eclipse中使用常用的Java开发环境就 可完成插件的开发,但在插件开发过程 中的每次测试都要将代码打包、发布, 然后再重新启动Eclipse系统。 为了进一步便于进行插件开发,Eclipse 提供了进行插件开发的“插件开发环境 (PDE)”。 PDE本身也是插件。
使用PDE和JDT开发插件的比较
与直接使用Java开发环境相比,使用运 行时工作台方式调试插件,无需安装插 件并启动运行时工作台,从而大大简化 了插件开发的过程。
使用PDE开发插件--步骤8
点击“完成”,完成插件项目的新建。 因为所创建的项目与“插件开发”透视 图相关联,因此将可自动转到“插件开 发”透视图。
使用PDE开发插件--步骤
插件项目生成之后,项目中将会包含一个按默 认方式生成的插HelloWorldPluginPlugin.java文 件。 因为该项目是一个插件项目,所以点击Eclipse 菜单栏中的“运行”按钮旁的下拉箭号,并选 择“运行为”->“运行时工作台”。运行后, 将生成一个和当前Eclipse几乎完全一致的平台, 惟一的差别是在新的Eclipse平台上增加了一个 “Hello,Eclipse world”插件(见下图中的工具 条上的第5个按钮)。
PDE的作用
插件开发环境是一个工具,提供用来自动创建、 处理、调试和部署插件的专门工具,使开发插 件和扩展更方便、有效。 在平台工作台中工作时,PDE可以用来帮助开 发者开发平台插件。 PDE 提供了一组平台扩展添加项(视图、编辑 器和透视图等),它们共同努力使得在工作台 内开发插件的进程更为顺利。
eclipse插件开发入门及常用组件要点
Eclipse插件开发入门.Eclipse最有魅力的地方就是它的插件体系结构。
在这个体系中重要的概念是扩展点(extension points)。
扩展点就是在软件开发过程中暴露出来的接口。
每一个插件都是在现有的扩展点上开发的,并可能还留有自己的扩展点,以便在这个插件上继续开发。
简介Eclipse 平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数为4 000万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的、可扩展的体系结构。
Eclipse 的价值是它为创建可扩展的集成开发环境提供了一个开放源码平台。
这个平台允许任何人构建与环境和其他工具无缝集成的工具。
工具与Eclipse无缝集成的关键是插件。
除了小型的运行时内核之外,Eclipse中的所有东西都是插件。
从这个角度来讲,所有功能部件都是以同等的方式创建的。
由于有了插件,Eclipse系统的核心部分在启动时要完成的工作十分简单:启动平台的基础部分和查找系统的插件。
整个Eclipse体系结构就像一个大拼图,可以不断地向上加插件,同时,在现有插件上还可以再加插件。
开发“Hello,world”插件创建插件最简单的方法是使用Eclipse中专门为开发插件而设计的插件PDE(Plug-in Development Environment)。
PDE 和 Java Development Tooling(JDT)IDE是 Eclipse 的标准扩展。
PDE 提供了一些向导可以帮助创建插件。
下面的“Hello,world”插件将通过PDE进行开发。
下面是创建一个简单插件的操作步骤。
(1)运行Eclipse。
单击Eclipse的“File”→“New”→“Other”菜单项,在弹出的对话框中选择Select对话框左边的Plug-in Development向导。
如图1所示,选择Plug-in Project。
eclipse插件开发-编辑器详解
我们看一下 org.eclipse.ui.part.FileEditorInput 中是如何实现 IEditorInput.exists()接口的:
1 public class FileEditorInput implements IFileEditorInput,IPathEditorInput,IPe
====================================== -->
<extension point="org.eclipse.core.runtime.contentTypes">
<!-- declares a content type for Java Properties files -->
22
return editorReg.getDefaultEditor(file.getName(), contentType);
23 }
上面的代码大致赶了如下两件事情: 1、如果对应的资源设定了一个特定的持久化属性 EDITOR_KEY,则会使用 EDITOR_KEY 属性值所代表的编辑器(说明:有关 Eclipse 资源的属性支持,请参阅其他 文档)。那如果一个资源不在工作区之内,又如何设定 EDITOR_KEY 属性呢??? (~ _~确实没法设定) 2、查找对应的 content type,用户通过 org.eclipse.core.runtime.contentTypes 扩展点来注册自定义的内容类型,在内容类型 中会指定对应的文件扩展名和默认编码,例如 JDT 中注册了如下内容类型(摘自 org.eclipse.jdt.core/plugin.xml):
Eclipse插件开发之基础篇(1)
Eclipse插件开发之基础篇(1)Eclipse插件开发之基础篇(1) 插件开发的基础知识名词翻译有一些名词在翻译的过程中可能会出现歧义,在这里统一一下。
アーキテクチャ=architecture=架构プラットフォーム=platform=平台コンポーネント=component=组件其余的随时补充。
1.Eclipse的架构Eclipse被作为java的IDE(集成开发环境)被广泛的应用,但是从本质上看Eclipse是一个整合了各种开发工具的平台。
因此,它采用了可以自由的增加各种功能的插件架构技术。
Eclipse平台的基本架构如图1-1所示。
图1-1 Eclipse的架构在这里,在最底层位置的是作为Eclipse插件架构基干的OSGi运行时。
虽然在早期的Eclipse版本中已经开始使用插件架构了,但是在Eclipse3.0的时候才首次引入了OSGi。
OSGi是open services gateway initiative的简称、原本是一种为嵌入式硬件开发的,使网络上的服务提供者和使用者交互(結びつける)的注册服务。
Eclipse使用OSGi来进行插件的管理。
OSGi运行时之上所有被配置的组件群都是以插件的方式提供的。
SWT和JFace提供了用户接口(User Interface)的API。
由于SWT和JFace并不依赖于Eclipse,也有可能被作为类库单独使用。
Eclipse不仅把基本的用户接口作为工作台API(WorkBench API)提供出来,在后面要讲到的工作区(Workspace)内的资源通过资源API(Resource API)的形式也被作为基本API提供出来了。
在这之上构建起了帮助系统以及基于更新管理器的自动更新等功能。
从Eclipse平台的角度看,SWT、JFace、工作台的部分就是EclipseRCP(Rich Client Platform)。
EclipseRCP是基于Eclipse的富客户端技术,Eclipse不仅是一个开发工具,也可以作为一个通用的应用程序平台。
Eclipse4.x插件开发实践02-源码使用指南
使用 Eclipse 插件向导完成典型示例的创建 基于典型示例初步掌握 Workbench 插件的部分关键扩展点 以“导入插件” (Import Plugins)的方式创建插件工程 快速检索 Eclipse 插件制品(Artifact) 目录
2.
3.
4.
5.
插件创建向导........................................................................................................................... 2 1.1. 背景资料....................................................................................................................... 2 1.2. 实战演练....................................................................................................................... 3 1.3. 演练小结....................................................................................................................... 7 1.4. 模板概览....................................................................................................................... 9 扩展项配置页......................................................................................................................... 11 2.1. 背景资料..................................................................................................................... 11 2.2. 实战演练..................................................................................................................... 12 2.3. 演练小结..................................................................................................................... 16 插件源码导入......................................................................................................................... 17 3.1. 背景资料..................................................................................................................... 17 3.2. 实战演练..................................................................................................................... 19 3.3. 演练小结..................................................................................................................... 23 3.4. 官方示例..................................................................................................................... 24 插件快速检索......................................................................................................................... 25 4.1. 背景资料..................................................................................................................... 25 4.2. 实战演练..................................................................................................................... 26 4.3. 演练小结..................................................................................................................... 29 结束语..................................................................................................................................... 30 5.1. 课程总结..................................................................................................................... 30 5.2. 学习建议..................................................................................................................... 30
《软件开发工具》第13章 Eclipse插件的使用与开发
id用于标识此视图的唯一名称。 name 用于在UI中表示此视图的可翻译名称。 category由以“/”分隔的类别标识组成的可选属性。 class实现org.eclipse.ui.IViewPart的类的标准名称。 常用的做法时称为org.eclipse.ui.part. ViewPart的子类 以继承默认功能。 icon与视图相关联的图标的相对名称。
4)“依赖项分析”部分提供了几项有用的功能,它们 帮助检查和优化插件依赖项以提高插件的运行效率。 列出非必要的依赖项十分重要,否则会对类装入性能产 生不良影响。单击“查找未使用的依赖项”超链接,PDE会 在必需的插件和已导入的包列表中查找未使用的和冗余的条 目,并允许除去它们。
(3)运行时(Runtime)页面 该页面显示插件提供给其他插件使用的所有包,以及插件 运行时类路径中的库和文件夹。 1)“已导出的包”部分列出插件要向下游客户机公布的所 有包。 单击“属性”按钮,可以对每个导出的包设置“版本”。 单击“添加”按钮,可以查看可以导出但未包含在列表中 的包列表。 可以在“包可视性”部分中控制每个包对下游客户机的可 视性。
5)具有多页面编辑器的插件。使用的扩展:org. eclipse. ui. editors 和 org. eclipse. ui. newWizards 。 此向导创建标准的插件目录结构并添加样本多页编辑器和样 本新建向导。 6)具有视图的插件。使用的扩展:org. eclipse. ui. views 。此向导创建标准的插件目录结构并创建工作台 视图。 7)具有属性页面的插件。使用的扩展:org. eclipse. ui. proertyPages。此向导创建标准的插件目录结 构并添加属性页面。 8)具有增量项目构建器的插件。使用的扩展: org. eclipse. core.resources.builders、org. eclipse. core.resources. markers、org. eclipse. core.resources.natures和org. eclipse. ui. popupMenus。此向导创建标准的插件目录结构 并添加样本增量项目构建器、样本项目性质、样本问题标记 和样本弹出菜单操作。
Eclipse插件开发
JDT开发插件—步骤4
• 以默认方式新建一个Java文件,文件名取为HelloWorld.java。
Shenzhen Hirisun Technology Incorporated
JDT开发插件—步骤5
• 点击“完成”,创建该文件,并在文件中输入下列代码: import posite; import bel; import org.eclipse.swt.SWT; import org.eclipse.ui.part.ViewPart; public class HelloWorld extends ViewPart { Label label; public HelloWorld() { } public void createPartControl (Composite parent) { label = new Label(parent, SWT.WRAP); label.setText (“Hello, World!”); } public void setFocus() { } }
开发Eclipse插件的基本步骤
• 插件通过添加到预定义的扩展点来向平台添加功能。要将程序代码变成插件 ,需要:
– 决定插件如何与平台集成 – 标识需要进行添加的扩展点以便与开发者的插件进行
集成 – 根据扩展点的规范来实现这些扩展 – 提供清单文件plugin.xml,它描述开发者正在提供的扩
展以及代码的封装 – 测试插件 – 对插件进行封装
Shenzhen Hirisun Technology Incorporated
1.2Eclipse的历史
Shenzhen Hirisun Technology Incorporated
Eclipse插件开发
插件的启动过程
• 从上节可以看出Eclipse在启动过程中加载了插件,但是加载不等于启动,只有那些必
须启动的插件才会在加载的时候被运行,一般的插件都是只有在需要的时候才会被启 动。根据MANIFEST.MF里的Eclipse-AutoStart/ Eclipse-LazyStart来确定到底是哪种启动 方式. 以plugins\com.android.ide.eclipse.adt\META-INF\MANIFEST.MF为例来说明,可以看 到其Eclipse-LazyStart: true,这说明该插件只有在被调用的时候才会启动。 即我们点击了小机器人图标后才会调用该插件,那该插件的入口在哪呢? 这个时候就需要插件启动器,同样也在清单文件中定义了: Bundle-Activator: com.android.ide.eclipse.adt.AdtPlugin 就是说但我们点击后,会调用AdtPlugin.java中的start方法,开始启动ADT插件。 以android-2.2.1为例来说明启动过程中都做了哪些动作
•
ADT启动流程
1. set the default android console 2. get the stream to write in the android console 3. set up the ddms console to use this objects 4. get the eclipse store 5. set the listener for the preference change 6. load preferences 7. check the location of SDK 8. create the loader that's able to load the images 9. and give it the debug launcher for android projects 10. setup export callback for editors 11. initialize editors 12. build jobs are run after other interactive jobs 13. wait 2 seconds before starting the ping job. This leaves some time to the other bundles to initializ
Eclipse插件开发_学习_02_GEF入门实例
private final IWorkbenchWindow window; public final static String ID = "com.ray.gef.helloworld.action.DiagramAction"; private IStructuredSelection selection;
public class DБайду номын сангаасagramEditorInput implements IPathEditorInput {
private IPath path;
public DiagramEditorInput(IPath path) { this.path = path;
}
public IPath getPath() { return path;
}
}
View Code
3.创 建 action DiagramAction
package com.ray.gef.helloworld.action;
import org.eclipse.core.runtime.Path; import org.eclipse.jface.action.Action; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.FileDialog; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.ISelectionListener; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PartInitException; import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction; import org.eclipse.ui.plugin.AbstractUIPlugin;
Eclipse插件开发指南(可编辑)
Eclipse插件开发指南EclipseEclipse 插件开发指南插件开发指南EclipseEclipse 插件开发指南插件开发指南目目录录目目录录第第 1 章章 Eclipse 概述概述第第章章概述概述1.1 Eclipse 简介简介简介简介Eclipse 的历史的历史的历史的历史Eclipse 的优势与技术特征的优势与技术特征的优势与技术特征的优势与技术特征1.2 安装安装 Eclipse安装安装安装的软硬件环境要求安装的软硬件环境要求安装的软硬件环境要求安装的软硬件环境要求安装安装 Eclipse 3.0安装安装1.3 Eclipse 插件的安装方法插件的安装方法插件的安装方法插件的安装方法第三方插件第三方插件 SWT Deginer 的下载与安装的下载与安装第三方插件第三方插件的下载与安装的下载与安装Eclipse 中文包的安装中文包的安装以以 Ecli 为例为例中文包的安装中文包的安装以以为例为例第第 2 章章 Eclipse 的使用的使用第第章章的使用的使用2.1 Eclipse 常用技巧和设置常用技巧和设置常用技巧和设置常用技巧和设置创建一个新的项目创建一个新的项目创建一个新的项目创建一个新的项目运行项目运行项目运行项目运行项目代码格式化及注释的设置代码格式化及注释的设置代码格式化及注释的设置代码格式化及注释的设置使用使用 Eclipse 强大的重构功能强大的重构功能使用使用强大的重构功能强大的重构功能任务任务 TODO 的设定的设定任务任务的设定的设定程序代码的追踪程序代码的追踪程序代码的追踪程序代码的追踪在代码中搜索关键字在代码中搜索关键字在代码中搜索关键字在代码中搜索关键字打开类型层次结构打开类型层次结构打开类型层次结构打开类型层次结构调试器的使用调试器的使用调试器的使用调试器的使用2.2 Eclipse 中中 CVS 的使用的使用中中的使用的使用CVS 简介简介简介简介CVS 服务器端的安装服务器端的安装、配置与使用、配置与使用服务器端的安装服务器端的安装、、配置与使用配置与使用.1 安装安装 CVS 服务器服务器安装安装服务器服务器.2 新建一个新建一个 CVS 项目项目新建一个新建一个项目项目.3 CVS 在服务器端的常用操作在服务器端的常用操作在服务器端的常用操作在服务器端的常用操作CVS 客户端的配置与使用客户端的配置与使用客户端的配置与使用客户端的配置与使用.1 连接的设置连接的设置连接的设置连接的设置.2 导入导入、导出项目、导出项目导入导入、、导出项目导出项目文件提交与更新的方法文件提交与更新的方法文件提交与更新的方法文件提交与更新的方法.1 提交与更新文件提交与更新文件提交与更新文件提交与更新文件.2 当文件冲突时的解决办法当文件冲突时的解决办法当文件冲突时的解决办法当文件冲突时的解决办法.3 其它使用注意事项其它使用注意事项其它使用注意事项其它使用注意事项2.3 Eclipse 中中JUnit 的使用的使用中中的使用的使用JUnit 简介简介简介简介JUnit 的的 Hello World的的在实际项目中使用在实际项目中使用 JUnit 的注意事项的注意事项在实际项目中使用在实际项目中使用的注意事项的注意事项第第 3 章章实战实战 SWT第第章章实战实战3.1 SWT 概述概述概述概述SWT 简介简介简介简介SWT 起步起步:用:用 SWT Deginer 写一个写一个 Hello World起步起步::用用写一个写一个使用使用 SWT Deginer 的界面开发流程的界面开发流程使用使用的界面开发流程的界面开发流程3.1. 44使用使用 SWT Deginer 进行界面开发的注意事项进行界面开发的注意事项44使用使用进行界面开发的注意事项进行界面开发的注意事项3.2 SWT/JFace 中的事件模型中的事件模型中的事件模型中的事件模型事件的两种常用写法事件的两种常用写法事件的两种常用写法事件的两种常用写法常用事件介绍常用事件介绍常用事件介绍常用事件介绍编写事件代码的注意事项编写事件代码的注意事项编写事件代码的注意事项编写事件代码的注意事项3.3 SWT 常用控件类常用控件类常用控件类常用控件类按钮按钮、复选框、复选框、单选框、单选框((Button 类)类)按钮按钮、、复选框复选框、、单选框单选框((类类))标签标签((Label 类)类)标签标签((类类))文本框文本框((Text 类)类)文文本框本框((类类))下拉框下拉框((Combo 类)类)下拉框下拉框((类类))列表框列表框((List 类)类)列表框列表框((类类))一个多控件组合应用的综合实例一个多控件组合应用的综合实例一个多控件组合应用的综合实例一个多控件组合应用的综合实例3.4 容器类容器类容器类容器类面板面板((Composite 类)类)面板面板((类类))分组框分组框((Group 类)类)分组框分组框((类类))属性页属性页((TabFolder 类)类)属性页属性页((类类))分割栏分割栏((SashForm 类)类)分割栏分割栏((类类))一个综合实例一个综合实例一个综合实例一个综合实例3.5 布局管理器布局管理器布局管理器布局管理器填充式填充式((FillLayout 类)类)填充式填充式((类类))行列式行列式((RowLayout 类)类)行列式行列式((类类))网格式网格式((GridLayout 类)类)网格式网格式((类类))堆栈式堆栈式((StackLayout 类)类)堆栈式堆栈式((类类))表格式表格式((FormLayout 类)类)表格式表格式((类类))一个复杂布局的综合实例一个复杂布局的综合实例一个复杂布局的综合实例一个复杂布局的综合实例3.6 其它其它 SWT 控件控件其它其它控件控件工具栏工具栏((ToolBar 类、类、ToolItem 类)类)工具栏工具栏((类类、、类类))动态工具栏动态工具栏((CoolBar 类、类、CoolItem 类)类)动态工具栏动态工具栏((类类、、类类))进度条进度条((ProgressBar 类)类)进度条进度条((类类))刻度条刻度条((Scale 类)类)刻度条刻度条((类类))滑动条滑动条((Slider 类)类)滑动条滑动条((类类))画布画布((Canvas 类)类)画布画布((类类))一个综合完整的应用程序一个综合完整的应用程序((Application )实例)实例一个综合完整的应用程序一个综合完整的应用程序(())实例实例第第 4 章章 JFace 常用控件常用控件:实例步步深入:实例步步深入第第章章常用控件常用控件::实例步步深入实例步步深入4.1 表格表格((TableViewer 类)类)表格表格((类类))表格简介表格简介表格简介表格简介前期准备前期准备:实例所用数据模型说明:实例所用数据模型说明前期准备前期准备::实例所用数据模型说明实例所用数据模型说明让数据在表格中显示出来让数据在表格中显示出来让数据在表格中显示出来让数据在表格中显示出来使用内容器使用内容器((ITreeContentProvider 接口接口)和标签器)和标签器((ITableLabelProvider使用内容器使用内容器((接口接口))和标签器和标签器((接口接口))接口接口))加上右键快捷菜单加上右键快捷菜单 Action 类、类、IMenuManager 接口接口加上右键快捷菜单加上右键快捷菜单类类、、接口接口实现点击表头排序的功能实现点击表头排序的功能((ViewerSorter 类)类)实现点击表头排序的功能实现点击表头排序的功能((类类))加工具加工具栏:栏:实现翻页实现翻页、删除、删除、刷新功能、刷新功能((ToolBarManager 类)类)加工具加工具栏栏::实现翻页实现翻页、、删除删除、、刷新功能刷新功能((类类))创建一个带复选框的表格创建一个带复选框的表格((CheckboxTableViewer 类)类)创建一个带复选框的表格创建一个带复选框的表格((类类))表格的其它使用技巧表格的其它使用技巧表格的其它使用技巧表格的其它使用技巧表格使用的注意事项表格使用的注意事项表格使用的注意事项表格使用的注意事项4.2 树(树(TreeViewer 类):类):用实例步步深入用实例步步深入树树((类类):):用实例步步深入用实例步步深入树简介树简介树简介树简介前期准备前期准备:实例所用数据模型说明:实例所用数据模型说明前期准备前期准备::实例所用数据模型说明实例所用数据模型说明让数据在树中显示出来让数据在树中显示出来让数据在树中显示出来让数据在树中显示出来给树加上内容器和标签器给树加上内容器和标签器给树加上内容器和标签器给树加上内容器和标签器加上右键快捷菜单并用加上右键快捷菜单并用 ActionGroup 类来集中管理类来集中管理加上右键快捷菜单并用加上右键快捷菜单并用类来集中管理类来集中管理如何捕捉树中不如何捕捉树中不同结点的值同结点的值如何捕捉树中不如何捕捉树中不同结点的值同结点的值创建一个带复选框的树创建一个带复选框的树创建一个带复选框的树创建一个带复选框的树树的其它使用技巧树的其它使用技巧树的其它使用技巧树的其它使用技巧树使用应注意事项树使用应注意事项树使用应注意事项树使用应注意事项4.3 对话框对话框((Dialog 类):类):用实例步步深入用实例步步深入对话框对话框((类类):):用实例步步深入用实例步步深入对话框简介对话框简介对话框简介对话框简介对话框的对话框的 Hello World对话框的对话框的给对话框设置初始值给对话框设置初始值给对话框设置初始值给对话框设置初始值取得对话框中的数据取得对话框中的数据取得对话框中的数据取得对话框中的数据自定义对话框的按钮自定义对话框的按钮自定义对话框的按钮自定义对话框的按钮带提示栏的对话框带提示栏的对话框((TitleAreaDialog 类)类)带提示栏的对话框带提示栏的对话框((类类))对话框使用的注意事项对话框使用的注意事项对话框使用的注意事项对话框使用的注意事项4.4 向导式对话框向导式对话框((WizardDialog 类)类)向导式对话框向导式对话框((类类))向导式对话框简介向导式对话框简介向向导式对话框简介导式对话框简介向导式对话框实例向导式对话框实例向导式对话框实例向导式对话框实例向导式对话框使用的注意事项向导式对话框使用的注意事项向导式对话框使用的注意事项向导式对话框使用的注意事项4.5 进度条对话框进度条对话框((ProgressMonitorDialog 类)类)进度条对话框进度条对话框((类类))进度条对话框简介进度条对话框简介进度条对话框简介进度条对话框简介进度条对话框实例进度条对话框实例进度条对话框实例进度条对话框实例进度条对话框使用的注意事项进度条对话框使用的注意事项进度条对话框使用的注意事项进度条对话框使用的注意事项4.6 自制界面控件自制界面控件自制界面控件自制界面控件绘图包绘图包 Draw2D 简介简介绘图包绘图包简介简介一个一个 Draw2D 的简单的实例的简单的实例一个一个的简单的实例的简单的实例跟我一步步来写个实用的界面控件跟我一步步来写个实用的界面控件跟我一步步来写个实用的界面控件跟我一步步来写个实用的界面控件第第 5 章章 Eclipse 插件开发插件开发第第章章插件开发插件开发5.1 Eclipse 插件开发概述插件开发概述插件开发概述插件开发概述Eclipse 插件开发简介插件开发简介插件开发简介插件开发简介Eclipse 插件开发的优势和不足插件开发的优势和不足插件开发的优势和不足插件开发的优势和不足5.2 插件的插件的 Hello World插件的插件的使用向导一步步创建使用向导一步步创建使用向导一步步创建使用向导一步步创建以空白项目为基础手工创建以空白项目为基础手工创建以空白项目为基础手工创建以空白项目为基础手工创建构建插件项目时的注意事项构建插件项目时的注意事项构建插件项目时的注意事项构建插件项目时的注意事项5.3 常用插件扩展点实战常用插件扩展点实战 plugin.xml常用插件扩展点实战常用插件扩展点实战扩展点简介扩展点简介扩展点简介扩展点简介在在 Eclipse 中加入一个透视图中加入一个透视图在在中加入一个透视图中加入一个透视图往透视图中加入视图往透视图中加入视图 views往透视图中加入视图往透视图中加入视图如何在两个视图之间的实现事件监听如何在两个视图之间的实现事件监听如何在两个视图之间的实现事件监听如何在两个视图之间的实现事件监听主菜单主菜单 actionSets主菜单主菜单编辑器编辑器 editors编编辑器辑器首选项和属性首选项和属性 preferencePages首选项和属性首选项和属性帮助帮助 contexts帮助帮助编写扩展点的注意事项编写扩展点的注意事项编写扩展点的注意事项编写扩展点的注意事项5.4 Eclipse 插件开发项目的国际化插件开发项目的国际化插件开发项目的国际化插件开发项目的国际化国际化简介国际化简介国际化简介国际化简介创建一个国际化项目创建一个国际化项目创建一个国际化项目创建一个国际化项目使用使用 Eclipse 的向导功能进行国际化的向导功能进行国际化使用使用的向导功能进行国际化的向导功能进行国际化国际化的注意事项国际化的注意事项国际化的注意事项国际化的注意事项5.5 为项目制作帮助为项目制作帮助为项目制作帮助为项目制作帮助帮助简介帮助简介帮助简介帮助简介项目帮助的制作实例项目帮助的制作实例项目帮助的制作实例项目帮助的制作实例帮助中的高级特性的使用帮助中的高级特性的使用帮助中的高级特性的使用帮助中的高级特性的使用5.6 项目打包与发行项目打包与发行项目打包与发行项目打包与发行插件项目的打包与发行插件项目的打包与发行插件项目的打包与发行插件项目的打包与发行应用程序项目的打包与发行应用程序项目的打包与发行应用程序项目的打包与发行应用程序项目的打包与发行第第 6 章章报表报表:用:用 POI 包与包与 MS Office 交互交互第第章章报表报表::用用包与包与交互交互6.1 POI 概述概述概述概述POI 简介简介简介简介POI 的下载与安装的下载与安装的下载与安装的下载与安装6.2 将数据导出成将数据导出成 Excel 的实例的实例将数据导出成将数据导出成的实例的实例6.3 更多高级的用法更多高级的用法更多高级的用法更多高级的用法设置页眉页脚设置页眉页脚设置页眉页脚设置页眉页脚浮动文字框浮动文字框浮动文字框浮动文字框冻结和分割窗冻结和分割窗冻结和分割窗冻结和分割窗在表中画图在表中画图在表中画图在表中画图打印的相关设置打印的相关设置打印的相关设置打印的相关设置第第 7 章章项目实战项目实战:一个实际:一个实际Eclipse 插件项目插件项目第第章章项目实战项目实战::一个实际一个实际插件项目插件项目7.1 项目概述项目概述项目概述项目概述项目简介项目简介项目简介项目简介项目的总体构思项目的总体构思项目的总体构思项目的总体构思7.2 项目前期项目前期项目前期项目前期项目的需求分析项目的需求分析项目的需求分析项目的需求分析项目的技术选型项目的技术选型项目的技术选型项目的技术选型项目过程控制的管理方案项目过程控制的管理方案项目过程控制的管理方案项目过程控制的管理方案项目的数据建模项目的数据建模:基于面向对象的系统分析:基于面向对象的系统分析项目的数据建模项目的数据建模::基于面向对象的系统分析基于面向对象的系统分析7.3 项目中期项目中期:代码实现:代码实现项目中期项目中期::代码实现代码实现项目起步项目起步项目起步项目起步.1 创建一个空白项目创建一个空白项目创建一个空白项目创建一个空白项目.2 创建透视图并加入视图创建透视图并加入视图创建透视图并加入视图创建透视图并加入视图主界面构建主界面构建:导航栏及编辑器:导航栏及编辑器Editor主界面构建主界面构建::导航栏及编辑器导航栏及编辑器.1 本模块的设计及数据模型本模块的设计及数据模型本模块的设计及数据模型本模块的设计及数据模型.2 主体代码的具体实现与程序导读主体代码的具体实现与程序导读主体代码的具体实现与程序导读主体代码的具体实现与程序导读用户管理及权限管理模块用户管理及权限管理模块用户管理及权限管理模块用户管理及权限管理模块.1 权限管理的设计及数据模型权限管理的设计及数据模型权限管理的设计及数据模型权限管理的设计及数据模型.2 权限管理的设计及数据模型权限管理的设计及数据模型权限管理的设计及数据模型权限管理的设计及数据模型.3 主体代码的具体实现与程序导读主体代码的具体实现与程序导读主体代码的具体实现与程序导读主体代码的具体实现与程序导读消息通知模块消息通知模块消息通知模块消息通知模块.1 消息通知的设计及数据模型消息通知的设计及数据模型消息通知的设计及数据模型消息通知的设计及数据模型.2 主体代码的具体实现与程序导读主体代码的具体实现与程序导读主体代码的具体实现与程序导读主体代码的具体实现与程序导读系统日志模块系统日志模块系统日志模块系统日志模块.1 系统日志的设计及数据模型系统日志的设计及数据模型系统日志的设计及数据模型系统日志的设计及数据模型.2 主体代码的具体实现与程序导读主体代码的具体实现与程序导读主体代码的具体实现与程序导读主体代码的具体实现与程序导读报表模块报表模块报表模块报表模块.1 系统日志的设计及数据模型系统日志的设计及数据模型系统日志的设计及数据模型系统日志的设计及数据模型.2 主体代码的具体实现与程序导读主体代码的具体实现与程序导读主体代码的具体实现与程序导读主体代码的具体实现与程序导读7.4 项目的后期完善项目的后期完善项目的后期完善项目的后期完善创建系统的首选项设置创建系统的首选项设置创建系统的首选项设置创建系统的首选项设置创建帮助创建帮助创建帮助创建帮助对整个项目进行国际化对整个项目进行国际化(英(英、、中中、、繁繁))对整个项目进行国际化对整个项目进行国际化((英英、、中中、、繁繁))打包和发行打包和发行打包和发行打包和发行第第 11篇篇 SOAP SOAP 的的HelloWordHelloWord 实例实例第第 11篇篇 SOAP SOAP 的的HelloWordHelloWord 实例实例1.1 1.1 前言前言前言前言2005-3-2 公司开会并分给我一个任务:写一个程序从福建移动的BOSS 系统取出一些相关数据。
Eclipse插件开发指南
插件开发指南 Eclipse插件开发指南目录第1章Eclipse概述1.1 Eclipse简介1.1.1 Eclipse的历史1.1.2 Eclipse的优势与技术特征1.2 安装Eclipse1.2.1 安装的软硬件环境要求1.2.2 安装Eclipse 3.01.3 Eclipse插件的安装方法1.3.1 第三方插件SWT Deginer的下载与安装1.3.2 Eclipse中文包的安装(以Eclipse2.1.3为例)第2章Eclipse的使用2.1 Eclipse常用技巧和设置2.1.1 创建一个新的项目2.1.2 运行项目2.1.3 代码格式化及注释的设置2.1.4 使用Eclipse强大的重构功能2.1.5 任务(TODO)的设定2.1.6 程序代码的追踪2.1.7 在代码中搜索关键字2.1.8 打开类型层次结构2.1.9 调试器的使用2.2 Eclipse中CVS的使用2.2.1 CVS简介服务器端的安装、、配置与使用2.2.2 CVS服务器端的安装2.2.2.1 安装CVS服务器2.2.2.2 新建一个CVS项目2.2.2.3 CVS在服务器端的常用操作2.2.3 CVS客户端的配置与使用2.2.3.1 连接的设置导入、、导出项目2.2.3.2 导入2.2.4 文件提交与更新的方法2.2.4.1 提交与更新文件2.2.4.2 当文件冲突时的解决办法2.2.4.3 其它使用注意事项2.3 Eclipse中JUnit的使用2.3.1 JUnit简介2.3.2 JUnit的Hello World2.3.3 在实际项目中使用JUnit的注意事项第3章实战SWT3.1 SWT概述3.1.1 SWT简介起步::用SWT Deginer写一个Hello World3.1.2 SWT起步3.1.3 使用SWT Deginer的界面开发流程3.1.4使用SWT Deginer进行界面开发的注意事项3.2 SWT/JFace中的事件模型3.2.1 事件的两种常用写法3.2.2 常用事件介绍3.2.3 编写事件代码的注意事项3.3 SWT 常用控件类3.3.1 按钮按钮、、复选框复选框、、单选框单选框((Button 类)3.3.2 标签标签((Label 类)3.3.3 文本框本框((Text 类)3.3.4 下拉框下拉框((Combo 类)3.3.5 列表框列表框((List 类)3.3.6 一个多控件组合应用的综合实例3.4 容器类3.4.1 面板面板((Composite 类)3.4.2 分组框分组框((Group 类)3.4.3 属性页属性页((TabFolder 类)3.4.4 分割栏分割栏((SashForm 类)3.4.5 一个综合实例3.5 布局管理器3.5.1 填充式填充式((FillLayout 类)3.5.2 行列式行列式((RowLayout 类)3.5.3 网格式网格式((GridLayout 类)3.5.4 堆栈式堆栈式((StackLayout 类)3.5.5 表格式表格式((FormLayout 类)3.5.6 一个复杂布局的综合实例3.6 其它SWT 控件3.6.1 工具栏工具栏((ToolBar 类、ToolItem 类)3.6.3 动态工具栏动态工具栏((CoolBar 类、CoolItem 类)3.6.5 进度条进度条((ProgressBar 类)3.6.6 刻度条刻度条((Scale 类)3.6.7 滑动条滑动条((Slider 类)3.6.8 画布画布((Canvas 类)3.5.7 一个综合完整的应用程序一个综合完整的应用程序((Application )实例第4章 JFace 常用控件常用控件::实例步步深入4.1 表格表格((TableViewer 类)4.1.1 表格简介4.1.2 前期准备前期准备::实例所用数据模型说明4.1.3 让数据在表格中显示出来4.1.4 使用内容器使用内容器((ITreeContentProvider 接口接口))和标签器和标签器((ITableLabelProvider 接口接口))4.1.5 加上右键快捷菜单(Action 类、IMenuManager 接口)4.1.6 实现点击表头排序的功能实现点击表头排序的功能((ViewerSorter 类)4.1.7 加工具加工具栏栏:实现翻页实现翻页、、删除删除、、刷新功能刷新功能((ToolBarManager 类)4.1.8 创建一个带复选框的表格创建一个带复选框的表格((CheckboxTableViewer 类)4.1.9 表格的其它使用技巧4.1.10 表格使用的注意事项4.2 树(TreeViewer 类):):用实例步步深入用实例步步深入4.2.1 树简介4.2.2 前期准备前期准备::实例所用数据模型说明4.2.3 让数据在树中显示出来4.2.4 给树加上内容器和标签器4.2.5 加上右键快捷菜单并用ActionGroup 类来集中管理4.2.6 如何捕捉树中不如何捕捉树中不同结点的值同结点的值4.2.7 创建一个带复选框的树4.2.8 树的其它使用技巧4.2.9 树使用应注意事项4.3 对话框对话框((Dialog 类):):用实例步步深入用实例步步深入4.3.1 对话框简介4.3.2 对话框的Hello World4.3.3 给对话框设置初始值4.3.4 取得对话框中的数据4.3.5 自定义对话框的按钮带提示栏的对话框((TitleAreaDialog类)4.3.6 带提示栏的对话框4.3.7 对话框使用的注意事项向导式对话框((WizardDialog类)4.4 向导式对话框4.4.1 向导式对话框简介4.4.2 向导式对话框实例4.4.3 向导式对话框使用的注意事项进度条对话框((ProgressMonitorDialog类)4.5 进度条对话框4.5.1 进度条对话框简介4.5.2 进度条对话框实例4.5.3 进度条对话框使用的注意事项4.6 自制界面控件4.6.1 绘图包Draw2D简介4.6.2 一个Draw2D的简单的实例4.6.3 跟我一步步来写个实用的界面控件第5章Eclipse插件开发5.1 Eclipse插件开发概述5.1.1 Eclipse插件开发简介5.1.2 Eclipse插件开发的优势和不足5.2 插件的Hello World5.2.1 使用向导一步步创建5.2.2 以空白项目为基础手工创建5.2.3 构建插件项目时的注意事项5.3 常用插件扩展点实战(plugin.xml)5.3.1 扩展点简介5.3.2 在Eclipse中加入一个透视图5.3.3 往透视图中加入视图(views)5.3.4 如何在两个视图之间的实现事件监听5.3.5 主菜单(actionSets)5.3.6 编辑器(editors)5.3.7 首选项和属性(preferencePages)5.3.8 帮助(contexts)5.3.9 编写扩展点的注意事项5.4 Eclipse插件开发项目的国际化5.4.1 国际化简介5.4.2 创建一个国际化项目5.4.3 使用Eclipse的向导功能进行国际化5.4.4 国际化的注意事项5.5 为项目制作帮助5.5.1 帮助简介5.5.2 项目帮助的制作实例5.5.3 帮助中的高级特性的使用5.6 项目打包与发行5.6.1 插件项目的打包与发行5.6.2 应用程序项目的打包与发行报表::用POI包与MS Office交互第6章报表6.1 POI概述6.1.1 POI简介6.1.2 POI的下载与安装6.2 将数据导出成Excel的实例6.3 更多高级的用法6.3.1 设置页眉页脚6.3.2 浮动文字框6.3.3 冻结和分割窗6.3.4 在表中画图6.3.5 打印的相关设置第7章项目实战:一个实际Eclipse插件项目项目实战:7.1 项目概述7.1.1 项目简介7.1.2 项目的总体构思7.2 项目前期7.2.1 项目的需求分析7.2.2 项目的技术选型7.2.3 项目过程控制的管理方案项目的数据建模::基于面向对象的系统分析7.2.4 项目的数据建模项目中期::代码实现7.3 项目中期7.3.1 项目起步7.3.1.1 创建一个空白项目7.3.1.2 创建透视图并加入视图7.3.2 主界面构建主界面构建::导航栏及编辑器(Editor)7.3.2.1 本模块的设计及数据模型7.3.2.2 主体代码的具体实现与程序导读7.3.3 用户管理及权限管理模块7.3.3.1 权限管理的设计及数据模型7.3.3.2 权限管理的设计及数据模型7.3.3.3 主体代码的具体实现与程序导读7.3.4 消息通知模块7.3.4.1 消息通知的设计及数据模型7.3.4.2 主体代码的具体实现与程序导读7.3.5 系统日志模块7.3.5.1 系统日志的设计及数据模型7.3.5.2 主体代码的具体实现与程序导读7.3.6 报表模块7.3.6.1 系统日志的设计及数据模型7.3.6.2 主体代码的具体实现与程序导读7.4 项目的后期完善7.4.1 创建系统的首选项设置7.4.2 创建帮助对整个项目进行国际化((英、中、繁)7.4.3 对整个项目进行国际化7.4.4 打包和发行第1篇 SOAP的HelloWord实例1.1 前言1.12005-3-2公司开会并分给我一个任务:写一个程序从福建移动的BOSS系统取出一些相关数据。
eclipse插件开发教程
eclipse插件开发教程Eclipse是一个非常强大的集成开发环境(IDE),可用于开发各种类型的应用程序。
与其它IDE相比,Eclipse的一个重要特点是其插件化的架构,这使得开发者可以根据自己的需求和喜好进行个性化定制。
开发Eclipse插件的过程需要掌握一些基本知识和技巧。
下面将提供一个简单的Eclipse插件开发教程,以帮助初学者入门。
第一步是安装Eclipse的开发工具包(Eclipse SDK)。
可以从Eclipse官方网站上下载并安装最新版本的开发工具包。
安装完成后,可以打开Eclipse,开始开发。
第二步是创建一个新的插件项目。
在Eclipse的菜单中选择“File”->“New”->“Project”,然后选择“Plug-in Development”->“Plug-in Project”。
在弹出的对话框中,输入项目的名称和位置,然后点击“Next”按钮。
接下来,选择一些项目的特性,并点击“Next”再点击“Finish”。
第三步是定义插件的扩展点(extension point)。
插件的扩展点是其他插件可以扩展的地方,通过定义扩展点,可以让其他插件在这个地方插入自己的代码。
在Eclipse的插件项目中,可以在“plugin.xml”文件中定义扩展点。
例如,可以定义一个扩展点来扩展Eclipse的编辑器,并在其中添加自定义的编辑功能。
第四步是实现插件的功能。
实现插件的功能主要通过编写Java代码来完成。
可以在插件项目中的“src”目录下创建Java类,并实现所需的功能。
例如,可以实现一个简单的Hello World视图,显示一个Hello World的文本。
第五步是将插件导出为可执行的JAR文件。
可以在Eclipse的插件项目上点击鼠标右键,然后选择“Export”->“Deployable plug-ins and fragments”。
在弹出的对话框中,选择要导出的插件,并选择导出的位置,点击“Finish”按钮即可导出插件。
Eclipse插件开发
自定义扩展点
Eclipse插件
简单的插件实例
这里我们建一个空的插件项目,写 一简单的扩展编辑器的插件,具体 步骤我会演示给大家看。 操作ing
图形编辑框架GEF
用GEF编写的流程编辑器
图形编辑框架GEF
Eclipse基础结构Ecipse基础结构Eclipse分为五大部分:
Workbench 工作台 Workspace 工作区 Help 帮助系统 Team 团队支持系统 Platform run-time 运行平台
Eclipse基础结构
Platform run-time 运行平台
平台运行库是内核,它在启动时检查已安 装了哪些插件,并创建关于它们的注册表 信息。为降低启动时间和资源使用,它在 实际需要任何插件时才加载该插件。除了 内核外,其他每样东西都是作为插件来实 现的。
图形编辑框架GEF
Control 控制器
在GEF的MVC结构里,控制器(Control)是模型与视 图之间的桥梁,也是整个GEF的核心。它不仅要监 听模型的变化,当用户编辑视图时,还要把编辑结 果反映到模型上 。 在GEF中,控制器是由一组EditPart对象共同组成的, 每一个模型对象都对应一个EditPart对象。应用程序 中需要有一个EditPartFactory对象负责根据给定模 型对象创建对应的EditPart对象,这个工厂类将在创 建模型时被调用 。
图形编辑框架GEF
View 视图
视图(View)是模型图形方式的表现,它以图形的方 式展示模型。 GEF GEF经常使用的Editor是一个 Editor GraphicalEditorWithPalette (GEF提供的Editor,是 EditorPart的子类,具有图形化编辑区域和一个工 具条)的实例,这个Editor使用GraphicalEditViewer 和PaletteViewer这两个视图类,PaletteViewer也是 GraphicalEditViewer的子类(表示选项板视图)。开 发人员要在configureGraphicalViewer()和 initializeGraphicalViewer()这两个方法里对 EditPartViewer进行定制,包括指定它的contents和 EditPartFactory等 。