java rcp教程_Eclipse RCP教程 - 13 - 练习:创建Eclipse RCP程序 | JavaFX中文资料

Eclipse RCP教程 – 13 – 练习:创建Eclipse RCP程序

13. 练习:创建Eclipse RCP程序

13.1 创建Eclipse插件

在接下来的练习中,你将会创建一个标准的Eclipse插件。下一步会将该Eclipse插件转化为一个Eclipse RCP程序。

在下面的描述中将该“插件”称为“应用程序插件”,因为该插件将会包含主要的程序逻辑。

13.1.1 创建插件工程

在Eclipse中选择菜单File->New->Other…->Plug-in Development->Plug-in Project。

c55c309592546c20a6f98295f8156ad7.png

在Project Name处填写插件名称为com.example.e4.rcp.todo,然后点击Next按钮。

956e493e3cb652dd2ab047706a0811a8.png

在下一个向导页面中进行如下设置:在提示“Would you like to create a rich client application?”处选择“No”选项。取消“This plug-in will make contributions to the UI”选项的勾选。取消“Generate an activator, a Java class that controls the plug-in’s life cycle”选项的勾选。

51ed778938d0b725fff12b1457821c74.png

点击Finish按钮。如果你点击了Next按钮,该向导将会向你展示一个模板选择页面,你可以不进行选择并跳过该页面。

13.1.2 验证结果

打开工程并确定src文件夹下没有生成Java类。

在manifest编辑器中切换到Dependencies选项卡并确定没有任何条目。

13.2 从插件转为Eclipse4应用程序

在本章中你会将生成的插件转化为Eclipse RCP应用程序。

13.2.1 创建基于产品配置文件的工程

创建一个名为com.example.e4.rcp.todo.product的工程,依次选择菜单File->New->Others…->General->Project。

cf3ee377c88fc3f8ffc110c62d353abc.png

输入工程名称,点击Finish。

8a149b24fd8361bd56d5de81de92db93.png

13.2.2 创建产品配置文件

在创建好的工程好点击鼠标右键,选择菜单File->New->Others…->Plug-in Development->Product Configuration。

3270bcf6c028f22372c728e729050cd9.png

在com.example.e4.rcp.todo.product文件夹下创建一个名为todo.product的产品配置文件。

007a31af195c1c727058c864bfadfeca.png

点击Finish按钮。将会创建并在编辑器中打开该文件。

点击产品编辑器Overvidw选项卡上的New…按钮。

5ad3da6f9e8eb701eacd60d25eef8302.png

在Product Name处输入to-do,在Defining Plug-in处填写你的插件,在Product ID处填写product,在Application下拉列表处选择org.eclipse.e4.ui.workbench.swt.E4Application。

fad3ab6a28c39c21f3ab35ee681f8de5.png

13.2.3 配置启动级别

在产品编辑器中切换到Configuration选项卡,点击Add Recommended…按钮。这些设置是使用Maven/Tycho构建系统的样例,因此配置这些是一个很好的实践。

0debecd42e86f356c74ae0f95194b19e.png

13.2.4 创建一个feature工程

通过菜单File->New->Other…->Plug-in Development->Feature Project来创建一个新的feature工程,命名为com.example.e4.rcp.todo.feature。

你可以在第一个向导页就点击Finish按钮。

9bb31af36a6cff7065c18a35d0ddc775.png

然后选择feature.xml文件的编辑器中选择Included Plug-ins选项卡。点击Add…按钮来将com.example.e4.rcp.todo插件引入本feature。

8b45cfeba1fee809fde7fdd33f61a050.png

确保是在Included Plug-ins选项卡中添加插件,不要在Dependencies选项卡中。

13.2.5 将feature作为内容加入到产品中

打开todo.product产品文件,修改产品配置文件为使用feature。

此操作需要在产品编辑器的Overview选项卡中选择features选项。

cce32cbedc95a957956420c97128541f.png

选择Contents选项卡,使用Add…按钮添加如下features。

· example.e4.rcp.todo.feature

· eclipse.e4.rcp

· eclipse.emf.ecore

· eclipse.emf.common

ad8774d04f2118a93cd824cbd397245e.png

如果你不能添加列表中的features到你的产品中,请确定你已将产品修改为基于features。

13.2.6 移除产品中features的版本依赖

为了避免features的不同版本导致的问题,你可以从产品中删除版本号。你可以通过点击产品配置编辑器里的Contents选项卡中的Properties…按钮来完成该操作。

e9e4907dff3c1cb8fcc88bded1d69fda.png

772e7e63fa1cd0cfd6cb449f65956089.png

移除所有features的版本依赖,操作结果看起来跟下面的截图类似。

8bc88a87e7d12ec7a7589495896fd0df.png

13.2.7 创建应用程序模型

现在在com.example.e4.rcp.todo插件中创建一个应用程序模型文件。选择File->New->Other->Eclipse 4->Model->New Application Model来打开向导对话框。

9e17a8c43542b5eb1632312a26d5ddc2.png

输入你的com.example.e4.rcp.todo插件作为容器,并使用向导所建议的文件名。

cffa20802ecc478b808fdeb2b3d2404d.png

点击Finish按钮,将会在com.example.e4.rcp.todo插件中新建一个Application.e4xmi文件并打开之。

13.2.8 给应用程序模型增加一个窗口

给应用程序模型添加一个窗口,因此你就会有一个可视化的组件。

在Windows and Dialogs节点上单击右键,像下面的截图中一样选择Trimmed Window选项。

cb14c2507b4019be497cec075ed9d48e.png

根据下面的截图输入一个以taskmanager为后缀的ID,窗口的位置、大小和一个Label。

059b7c62f2ce256a969204ec8a642017.png

13.2.9 确保在启动时删除持久化的用户界面状态

如果你启动和关闭应用程序,应用程序的最后状态会被框架持久化,并在下次启动此应用程序时恢复。这在开发期间是不期望的,因为应当使用来自应用模型文件的最新状态。为确保始终使用应用程序模型的最新版本,请将-clearPersistedState参数添加到产品配置文件中。

以下屏幕截图显示了产品配置文件中的此设置。

ccef73585c2e010b792c50f452af1aa9.png

确保您使用了 – 符号,并且参数输入正确。 该参数必须为:-clearPersistedState

13.2.10 启动程序

打开产品文件并选择Overview选项卡。 点击Testing部分中的“Launch an Eclipse application”超链接。

db0a4fa6f48fdf1e7e3c0f8faa6bb7d8.png

确认你的应用程序正常启动了。 你应该看到一个空的窗口,可以对它进行移动、调整大小、最小化、最大化和关闭操作。

13.3 定义UI模型

在本部分练习中,您将创建基本的应用程序用户界面。 在本练习结束时,您的用户界面应类似于以下屏幕截图。

ca67d3581ff27e95cabe801693d36903.png

13.3.1 打开Application.e4xmi 文件

在Eclipse 4 model editor中双击Application.e4xmi文件,或者从右键菜单中选择Open With->Eclipse 4 model editor菜单,打开Application.e4xmi file文件。

13.3.2 添加part sash和part stack容器

选择window下的Controls,添加一个Part Sash Container元素。

3d76bb50f7a1cb5592b6859c32290900.png

将其Orientation属性更改为Horizontal,并在ID字段中输入com.example.e4.rcp.todo.partsashcontainer.main。

39d6e8a680bab22189667a8f6c69f4ad.png

添加一个Part Stack,作为你的Part Sash 容器的第一个子元素。

重新选择part sash 父容器,然后再添加一个Part Sash Container元素,给这个容器元素再添加两个Stack。

修改完毕以后,你的程序模型看起来应该与下图类似。

64baf0025dfee4491da79cd4e77d4d88.png

13.3.3 创建Part

给每个Stack添加一个Part。使用下面表格中的ID和Label。

先输入name,如果label为空,ID会随name调整。

表3 Parts的Label和ID

ID后缀

Label

com.example.e4.rcp.todo.part.todooverview

Overview

com.example.e4.rcp.todo.part.tododetails

Details

com.example.e4.rcp.todo.part.playground

Playground

你的应用程序模型的最终结构应该与下面的截图类似。该截图还显示了应用程序模型编辑器中的详细信息面板中Overview Part的详细数据。

5777d522833c2fa7b602eb858b416f55.png

13.3.4 检查UI

启动你的产品并检查UI是否按计划显示。如果有必要就重新调整模型元素。模型编辑器支持通过拖拽操作来进行重新布局。

请注意,即便到现在你还没有创建任何Java类,但你已经看到了结构。

13.4 引入依赖项

为了在你的插件代码中使用其它插件(它的API),你需要在MANIFEST.MF文件中进行声明。在本部分练习中,你将会学到处理API依赖。

13.4.1 添加插件依赖

在你的新插件的源代码中,将会使用到其它Eclipse插件中的API。Eclipse编程模型需要你在新插件中定义对这些插件或者包(package)的依赖。

为了叙述方便,下文将com.example.e4.rcp.todo插件简称为应用程序插件(application plug-in)。

打开应用程序插件的META-INF/MANIFEST.MF文件,选择Dependencies选项卡。使用Required Plug-ins部分的Add…按钮,将以下插件添加为依赖项。

· eclipse.core.runtime

· eclipse.swt

· eclipse.e4.core.di

· eclipse.e4.ui.workbench

· eclipse.e4.ui.di

· eclipse.e4.core.di.extensions

13.4.2 检查

你的操作结果应该与下面的截图类似。

3ed2a95de1fe33380b49b2a999f720c7.png

13.5 关联Part与Java类

13.5.1创建一个新包和若干Java类

在应用程序插件中创建com.example.e4.rcp.todo.parts包。

在这个包中创建3个Java类,名为TodoOverviewPart、TodoDetailsPart和PalygroundPart。这些类都不需要继承任何类或者实现任何接口。

你也可以通过在模型编辑器中点击detail pane里的 Class URI 超链接来创建Java类。这样也会将创建的类与模型对象联系起来。如果你这样做了,那就可以跳过下面的“关联你的Part和Java类”步骤。

下面的代码显示了TodoDetailsPart类。

Java

package com.example.e4.rcp.todo.parts;

public class TodoDetailsPart {

}

1

2

3

4

5

packagecom.example.e4.rcp.todo.parts;

publicclassTodoDetailsPart{

}

13.5.2关联你的Part和Java类

打开Application.e4xmi文件并将Java类与相应的Part模型元素关联起来。你通过Part模型元素的Class URI 属性来完成此操作。

Eclipse4模型编辑器允许你通过Find…按钮来搜索已存在的类。Contribution Classes的初始列表是空的,在Class Name字段处输入内容就会看到相关结果。

50de38d4a3a9f8df3875fd919df95b83.png

下面的表格列出了哪些元素需要被关联起来。

表4 Java类与Part 模型元素的映射

类名

Part ID后缀

TodoOverviewPart

*.todooverview

TodoDetailsPart

*.tododetails

PlaygroundPart

*.playground

下面的截图展示了Overview Part的结果。

6578bb6c72ec33456b6c5cae66c8a829.png

13.5.3 校验

启动你的应用程序。它应该会启动,但在UI上你将看不出任何区别。

为了验证Eclipse运行时已经创建了若干模型对象,可以为其中的某个类创建一个无参构造方法,并在其中加入一句System.out.println()语句。以此来验证在程序启动时该构造方法是否被调用了。

打赏一下

支付宝

微信

参与评论 您还未登录,请先 登录 后发表或查看评论
目 录 1.富客户端平台 1 1.1.概述 1 1.2.Eclipse RCP 建设风格——插件,扩展和扩展点 1 2.创建你的第一个RCP程序 1 2.1.创建一个RCP程序 2 2.2.启动你的RCP程序 5 2.3.应用程序VS 产品 6 3.应用程序里的插件ID 7 4.Actions的用法(菜单和工具栏) 7 4.1.概述 7 4.2.通过编码添加 8 4.3.由“扩展”方式向程序添加菜单和工具栏 11 5.添加组合键 19 5.1.概述 19 5.2.声明actions的组合键 19 6.系统托盘 24 7.外观 30 7.1.向程序中添加视图模板 31 7.2.向应用程序添加VIEW 36 7.3.向VIEW里添加action 40 8.和编辑器一起工作 51 8.1.概述 51 8.2.创建工程 51 8.3.创建并准备domain 模型 51 8.4.在视口中使用domain模型 57 8.5.加入编辑器 58 8.6.调用编辑器 66 8.7.向编辑器提供内容 70 9.对话框 71 9.1概述 71 9.2.预定义的对话框 71 9.2.1.概述 71 9.2.2.创建工程 71 9.2.3.声明action 71 9.2.4.调用对话框 71 9.3.用户自定义对话框 74 9.3.1.概述 74 9.3.2.创建工程 74 9.3.3.声明action 74 9.3.4.声明action 74 9.3.5.创建对话框 75 10.向导(wizard) 77 10.1.概述 77 10.2.例子 77 11.首选项 85 11.1 首选项 85 11.2.使用首选项 85 11.3.首选项页 91 12.添加状态条 97 12.1.安装状态条 97 12.2.共享状态条 98 13.透视 103 13.1.向你的程序中添加透视图 103 13.2.使透视图可选。 107 13.2.1.使透视图可由一个coolbar可选 107 13.2.2.使透视图可通过菜单选择。 109 14.进度报告 112 15.将外部类包含进你的程序 118 15.1.概述 118 15.2.向构建路径中添加jar 118 15.3.使jar在你的运行路径里有效 119 16.提示和策略 120 16.1.控制台日志 120 16.2.保存用户的布局 121 16.3.获得display 122 16.4.使用eclipse的“保存”action 123 16.5.装载模型 127 16.6.向你的程序添加错误日志视口 127 17.制造一个产品 129 17.1.概述 129 17.2.创建一个工程 130 17.3.测试你的产品 134 18.商标 134 18.1.欢迎页面 134 18.2.商标 135 18.3.风格化launcher 136 19.发布你的产品 137 20.发布引入外部jar的产品 141 20.1.整合外部jar和第三方库 141 Tip 142 21.1.创建一个新工程 144 21.2.创建一个产品 144 21.3.添加依赖性 145 21.4.向程序中添加action 146 21.5.创建一个帮助插件工程////原著写的不好 149 22.附录配置文件 152 22.1.概述 152 22.2..project 153 22.3.Manifest.MF 154 23.附录使用接口技术 154 23.2.Jface 154

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

weixin_39568083

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值