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。
在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中文资料相关推荐
- escplise使用教程_eclipse使用教程
PS:最近很多同学问我eclipse不知道怎么用,那我们出一个eclipse的教程 Start: 为了你们方便理解,我放中文版和英文版双截图,你们可以对照理解 1.##双击eclipse后会弹出这个界 ...
- 创建 Eclipse RCP 例子
1 创建 plug-in 工程 如下图, 创建一个空的工程, 仅填入工程名 "com.vogella.tasks.ui" 点击 Next , 查看一下, 什么都不要选择. 2 创建 ...
- Java-Runoob-高级教程-实例-字符串:13. Java 实例 - 字符串格式化
ylbtech-Java-Runoob-高级教程-实例-字符串:13. Java 实例 - 字符串格式化 1.返回顶部 1. Java 实例 - 字符串格式化 Java 实例 以下实例演示了通过 f ...
- Eclipse RCP 开发系列入门教程
不错的Eclipse RCP开发入门教程,收藏备用! 使用Eclipse RCP进行桌面程序开发(一):快速起步 https://blog.csdn.net/wsh_0703/article/deta ...
- java rcp 打印_eclipse RCP 如何开发打印功能 ?
展开全部 目前在国内基本上找不到关于RCP的中文资料,只能通过自己的探索来为程序添加想要的功能62616964757a686964616fe59b9ee7ad9431333339656361. 下面让 ...
- 保护Eclipse RCP应用的商业Java编译器
近日Excelsior LLC发布了最新版的Excelsior JET(此前InfoQ对其做过介绍)--Excelsior JET 6.5.该版本增加的一个主要特性就是处理Eclipse RCP应用的 ...
- java mvc 小程序_[Java教程]Spring MVC 的环境搭建和入门小程序
[Java教程]Spring MVC 的环境搭建和入门小程序 0 2017-02-17 00:00:16 1.1.下载spring框架包. 1.1.1百度搜索Spring Framework. 进入s ...
- java求职攻略_2020年求职攻略 《Java面试连成诀》教程免费分享
原标题:2020年求职攻略 <Java面试连成诀>教程免费分享 IT行业薪资高.就业好.发展前景广阔,而面试是我们打开事业大门的第一关.技术的革新以及IT从业者增多加大了市场竞争,面试中问 ...
- 5W字高质量java并发系列详解教程(上)-附PDF下载
文章目录 第一章 java.util.concurrent简介 主要的组件 Executor ExecutorService ScheduledExecutorService Future Count ...
- java jsp学习指南_JSP教程–最终指南
java jsp学习指南 编者注: JavaServer Pages(JSP)技术使您可以轻松创建同时包含静态和动态组件的Web内容. JSP技术提供了Java Servlet技术的所有动态功能,但提 ...
最新文章
- 简练软考知识点整理-互联网+
- 数据库Oracle 11g的安装步骤
- 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_3_流式思想概述...
- v1 中兴f450g_中兴ZXHN F450G获得telecom密码教程
- matlab图例使用技巧
- 英国第一位重要的浪漫主义诗人
- Java300集零基础自学
- 六度人脉 全球最高效的人脉法则(图)
- PATC语言1-50
- 传奇装备信息悬浮框(悬浮框在哪里可以弄出来)
- 纯java编写的联机五子棋项目(附带开源链接)
- android钢琴软件和弦,App Store 上的“判断和弦以钢琴演奏 Piano Chord Judge”
- 微信小程序的疫情防控系统
- C#实现五子棋详细教程
- 骑砍自建服务器,恶魔之魂玩家不忍服务器关闭 自建服务器上线运行
- java中parser_愿你走出半生,归来仍是Java Parser
- 红芯商业计划书曝光:明年要实现3000万利润 2021年冲刺IPO
- Python基础----Socket编程规范及底层原理(三)---socketserver实现并发及底层原理
- 笔记:李想分享的创业经历的5个楼层
- 最大公约数(gcd)
热门文章
- Delphi判断是否有全屏程序
- (三)JavaScript之[事件]与[字符串]
- putExtra方法
- 日常琐事的记录,每周六晚做一次总结整理
- wait()、notify()、notifyAll()原理用法详解sleep()与wait()区别
- java 创建消息队列_java - 在Java中动态创建异步消息队列 - 堆栈内存溢出
- Linux 安装jdk8
- MySQL中的时间函数
- springcloud整合sentinel
- RabbitMQ的消息确认、消息持久化