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。

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

在下一个向导页面中进行如下设置:在提示“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”选项的勾选。

点击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。

输入工程名称,点击Finish。

13.2.2 创建产品配置文件

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

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

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

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

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

13.2.3 配置启动级别

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

13.2.4 创建一个feature工程

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

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

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

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

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

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

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

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

· example.e4.rcp.todo.feature

· eclipse.e4.rcp

· eclipse.emf.ecore

· eclipse.emf.common

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

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

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

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

13.2.7 创建应用程序模型

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

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

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

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

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

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

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

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

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

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

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

13.2.10 启动程序

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

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

13.3 定义UI模型

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

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元素。

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

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

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

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

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的详细数据。

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 检查

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

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字段处输入内容就会看到相关结果。

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

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

类名

Part ID后缀

TodoOverviewPart

*.todooverview

TodoDetailsPart

*.tododetails

PlaygroundPart

*.playground

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

13.5.3 校验

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

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

打赏一下

支付宝

微信

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

  1. escplise使用教程_eclipse使用教程

    PS:最近很多同学问我eclipse不知道怎么用,那我们出一个eclipse的教程 Start: 为了你们方便理解,我放中文版和英文版双截图,你们可以对照理解 1.##双击eclipse后会弹出这个界 ...

  2. 创建 Eclipse RCP 例子

    1 创建 plug-in 工程 如下图, 创建一个空的工程, 仅填入工程名 "com.vogella.tasks.ui" 点击 Next , 查看一下, 什么都不要选择. 2 创建 ...

  3. Java-Runoob-高级教程-实例-字符串:13. Java 实例 - 字符串格式化

    ylbtech-Java-Runoob-高级教程-实例-字符串:13. Java 实例 - 字符串格式化 1.返回顶部 1. Java 实例 - 字符串格式化  Java 实例 以下实例演示了通过 f ...

  4. Eclipse RCP 开发系列入门教程

    不错的Eclipse RCP开发入门教程,收藏备用! 使用Eclipse RCP进行桌面程序开发(一):快速起步 https://blog.csdn.net/wsh_0703/article/deta ...

  5. java rcp 打印_eclipse RCP 如何开发打印功能 ?

    展开全部 目前在国内基本上找不到关于RCP的中文资料,只能通过自己的探索来为程序添加想要的功能62616964757a686964616fe59b9ee7ad9431333339656361. 下面让 ...

  6. 保护Eclipse RCP应用的商业Java编译器

    近日Excelsior LLC发布了最新版的Excelsior JET(此前InfoQ对其做过介绍)--Excelsior JET 6.5.该版本增加的一个主要特性就是处理Eclipse RCP应用的 ...

  7. java mvc 小程序_[Java教程]Spring MVC 的环境搭建和入门小程序

    [Java教程]Spring MVC 的环境搭建和入门小程序 0 2017-02-17 00:00:16 1.1.下载spring框架包. 1.1.1百度搜索Spring Framework. 进入s ...

  8. java求职攻略_2020年求职攻略 《Java面试连成诀》教程免费分享

    原标题:2020年求职攻略 <Java面试连成诀>教程免费分享 IT行业薪资高.就业好.发展前景广阔,而面试是我们打开事业大门的第一关.技术的革新以及IT从业者增多加大了市场竞争,面试中问 ...

  9. 5W字高质量java并发系列详解教程(上)-附PDF下载

    文章目录 第一章 java.util.concurrent简介 主要的组件 Executor ExecutorService ScheduledExecutorService Future Count ...

  10. java jsp学习指南_JSP教程–最终指南

    java jsp学习指南 编者注: JavaServer Pages(JSP)技术使您可以轻松创建同时包含静态和动态组件的Web内容. JSP技术提供了Java Servlet技术的所有动态功能,但提 ...

最新文章

  1. 简练软考知识点整理-互联网+
  2. 数据库Oracle 11g的安装步骤
  3. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_3_流式思想概述...
  4. v1 中兴f450g_中兴ZXHN F450G获得telecom密码教程
  5. matlab图例使用技巧
  6. 英国第一位重要的浪漫主义诗人
  7. Java300集零基础自学
  8. 六度人脉 全球最高效的人脉法则(图)
  9. PATC语言1-50
  10. 传奇装备信息悬浮框(悬浮框在哪里可以弄出来)
  11. 纯java编写的联机五子棋项目(附带开源链接)
  12. android钢琴软件和弦,‎App Store 上的“判断和弦以钢琴演奏 Piano Chord Judge”
  13. 微信小程序的疫情防控系统
  14. C#实现五子棋详细教程
  15. 骑砍自建服务器,恶魔之魂玩家不忍服务器关闭 自建服务器上线运行
  16. java中parser_愿你走出半生,归来仍是Java Parser
  17. 红芯商业计划书曝光:明年要实现3000万利润 2021年冲刺IPO
  18. Python基础----Socket编程规范及底层原理(三)---socketserver实现并发及底层原理
  19. 笔记:李想分享的创业经历的5个楼层
  20. 最大公约数(gcd)

热门文章

  1. Delphi判断是否有全屏程序
  2. (三)JavaScript之[事件]与[字符串]
  3. putExtra方法
  4. 日常琐事的记录,每周六晚做一次总结整理
  5. wait()、notify()、notifyAll()原理用法详解sleep()与wait()区别
  6. java 创建消息队列_java - 在Java中动态创建异步消息队列 - 堆栈内存溢出
  7. Linux 安装jdk8
  8. MySQL中的时间函数
  9. springcloud整合sentinel
  10. RabbitMQ的消息确认、消息持久化