- 浏览: 615738 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
咖啡舞者:
现在在厦门工作还好吧。
2013换工作记 -
huih1984:
工作8年,算起来楼主和我差不多岁数啊, ,本人现在干着没有合同 ...
2013换工作记 -
无心流泪wan:
乘法法则规定复数的乘法按照以下的法则进行:设z1=a+bi,z ...
帮朋友做的一笔试(友元 运算符重载) -
我叫营长1:
谢谢,很详细呢
SharedPreferences 的用法 -
javalinjx:
挺有意思的。哈哈
2013换工作记
2007 年 11 月 05 日
Eclipse Forms 提供了一种改进 Eclipse 应用程序用户体验的方法。它为应用程序提供了一种 “Web 风格” 的外观,但并未使用嵌入式浏览器。本文的目的是简要介绍 Eclipse Forms 作为用户界面 (UI) 工具箱的特点,并提供了一个易于理解的示例帮助您入门。
Eclipse Forms 是什么?在回答这个问题之前,我先向您展示一下 Eclipse Forms 的自然用法。您是否曾经使用 Eclipse 构建过插件?如果是,那么您可能认识下面这个整洁的用户界面。
图 1. PDE 的 manifest 编辑器
此编辑器是 Eclipse 插件开发环境(PDE)的一部分。它是第一个采用 Eclipse Forms 的编辑器,并且仍然是 Eclipse Forms 的一个范例实现。因此,我们得到了 Eclipse Forms 的一个视觉外观,那应该如何定义它呢?
Eclipse 为人熟知的原因在于能够让在它上面构建的应用程序具有原生应用程序的外观。这可能要归功于 Eclipse 的构建基础:Standard Widget Toolkit (SWT)。在其核心中,SWT 提供了一个可移植的轻量级原生 部件集,可以在不同的平台上运行。Eclipse Forms 的设计初衷是提供一种新风格的、常见于 HTML 创建工具中的用户交互。Eclipse Forms 的任务是跨所有 Eclipse 项目为创建可移植 Web 风格的 UI 提供支持。
|
现在可以开始介绍典型的 Hello World 示例了,后面对各种 Eclipse Forms 小部件进行描述,最后介绍一个更具体的真实示例。
开始学习新东西的好方法自然是通过一个简单的 Hello World 示例。关于 Eclipse Forms 需要了解的重要一点是,实际上您可以在能够使用 SWT 小部件的任何位置使用它的小部件。在这个简单的示例中,我们将在 Eclipse 视图中使用 Eclipse Forms。
图 2. Hello World
清单 1. Hello World — Eclipse Forms 版本(Snippet1.java)
|
在清单 1 中,我们拥有一个典型的 Eclipse 视图(扩展了 ViewPart
)。但是,在 createPartControl(...)
方法中,我们创建了 FormToolkit
的一个新实例。FormToolkit
负责创建 SWT 控件并进行调整以便在 Eclipse Forms 环境中使用。使用 Eclipse Forms 时,您会频繁地使用这个工具类。在下一行中,我们创建了一个新表单(基于 ScrolledForm
),该表单用作表单相关内容的容器。这就是使用 Eclipse Forms 的技巧。上面清单中使用的代码可以用作一个模板,以后实践 Eclipse Forms 时可以用到。
|
Eclipse Forms 之旅的下一站是介绍它所提供的实际使用的小部件。我们将介绍每个小部件并提供一小段代码片段演示其用法。最后,我们还将讨论如何调整现有的小部件以便整合到基于 Eclipse Forms 的应用程序中。
|
我们要讨论的前两种基本的小部件是 forms 类型:Form
和 ScrolledForm
。这些 forms 小部件可看作 Eclipse Forms 的基础并充当内容的容器(见图 3)。它们拥有标题、可选图像、可选标题下拉菜单和其他一些有用的特性(见清单 2)。
图 3. Form 示例
清单 2. Form 示例(Snippet2.java)
|
这个小部件是一个简单的复合程序,允许显示或隐藏(即,折叠或展开)其子元素。可以选择展开形状的样式(旋转或树形),您可以根据需要选用(见图 4 和清单 3)。
图 4. ExpandableComposite 示例
清单 3. ExpandableComposite 示例(Snippet3.java)
|
section 是一种特殊类型的可展开复合程序,用于添加标题下面的可选描述。Eclipse Forms 中使用 Section 对信息分组,它可能是 Eclipse Forms 中最常用的小部件。如果您需要使用描述区中的图像或超链接,您可以在描述区中使用控件。
图 5. Section 示例
清单 4. Section 示例(Snippet4.java)
|
Hyperlink 部件用于实现基于用户单击文本 — 或悬停在文本上 — 的操作。如果您曾经使用过 HTML,就会发现这与 <a>
标记的概念非常类似。在 Eclipse Forms 中,超链接可以与 HyperlinkGroup
关联,后者管理普通颜色或激活颜色之类的事件。
图 6. Hyperlink 示例
清单 5. Hyperlink 示例(Snippet5.java)
|
此部件是一个只读文本控件,可以通过解析特殊的 XML 标记(与 HTML 类似)呈现包装的文本。此外,它还允许将链接(即 http://www.eclipse.org)自动解析为超链接(如果您需要的话)。
图 7. FormText 示例
清单 6. FormText 示例(Snippet6.java)
|
此部件是托管表单的通用对话框。如果您希望在对话框中使用 Eclipse Forms,此类可为您提供帮助(见图 8 和清单 7)。
图 8. FormDialog 示例
清单 7. FormDialog 示例
|
Eclipse Forms 的一个初始设计目标是,实现对现有 SWT 控件的重用。在 Eclipse Forms 中表单主体没有什么特别之处。它不断地进行复合调整。
要使用自己的 SWT 部件(该部件如果不是使用 FormToolkit
轻松创建的话),您只需对其进行调整。调整部件通过使用 FormToolkit
类完成(见图 9 和清单 8)。
图 9. 调整部件的示例
清单 8. 调整部件的示例(Snippet7.java)
|
|
在一个更真实的示例中,我将使用一个 Eclipse 项目。在 Eclipse Communications Framework (ECF) 项目中,我们有一个显示在线联系人的 UI。在该 UI 中,我们希望支持一些优秀的工具提示。使用 Eclipse Forms 是完成此任务的首选方法。清单 9 演示了如何使用 Eclipse Forms 创建一个自定义的工具提示。
图 10. Forms ToolTip 示例
清单 9. Forms ToolTip 示例(Snippet8.java)
|
使用上面描述的示例,我们可以很轻松地将基于 Eclipse Forms 的工具提示集成到 ECF 中。
图 11. 工具提示正常工作
|
本文的目的是对 Eclipse Forms 做一个简要介绍并提供一些示例。通过一些易于理解的代码片段和一个可下载的样例项目,我已完成这一任务。我希望您现在能够将 Eclipse Forms 放入您的工具箱中,以便开发 Eclipse 应用程序时使用。
特别致谢 Dejan Glozic 和 User Assistance 团队,感谢他们对本文的审核。
学习
- 您可以参阅本文在 developerWorks 全球站点上的 英文原文。
- 了解 Dejan Glozic 的早期 Eclipse Forms 文章的最初灵感:Eclipse Forms: Rich UI for the Rich Client。
- 查看 Europa release train。
- 获取 Eclipse 的文档、文章和下载,请访问 Eclipse.org。
- 想了解 Eclipse 社区中的最新事件么?请查看 PlanetEclipse。
- 在 Eclipse Plug-in Central 查看可用的 Eclipse 插件。
- 访问 EclipseLive 了解针对各项 Eclipse 技术的网上技术交流会 (webinar)。
- 想和 Eclipse 提交者面对面地交流了解 Eclipse 项目么?加入 EclipseCon,它是 Eclipse 的主要会议。
- 查看 “Eclipse 推荐读物列表”。
- 浏览 developerWorks 上的全部 Eclipse 文章和Eclipse 教程。
- Eclipse 新手请阅读 developerWorks 文章 “Get started with Eclipse Platform” 了解其起源和架构,以及如何使用插件扩展 Eclipse。
- 查看 IBM developerWorks 的 Eclipse 项目资源 扩展 Eclipse 技巧。
- 要收听针对软件开发人员的有趣访谈和讨论,一定要访问 developerWorks podcasts。
- 关于 Eclipse 平台的介绍,请查看 “Eclipse 平台入门”。
- 随时关注 developerWorks 的 技术事件和网络广播。
- 查看免费的 developerWorks On demand demos 观看并了解 IBM 及开源技术和产品功能。
- 查阅最近将在全球举办的面向 IBM 开放源码开发人员的研讨会、交易展览、网络广播和其他 活动。
- 访问 developerWorks 开放源码专区,获得丰富的 how-to 信息、工具和项目更新,帮助您用开放源码技术进行开发,并与 IBM 产品结合使用。
获得产品和技术
- 在 IBM alphaWorks 查看最新的 Eclipse 技术下载。
- 从 Eclipse Foundation 下载 Eclipse 平台和其他项目。
- 下载 IBM 产品评估版,并开始使用 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。
- 使用 IBM 试用软件 改进您的下一个开发项目,这些软件可以通过下载或从 DVD 中获得。
讨论
- 在 IRC 上与其他 Eclipse 开发人员和提交者进行交谈。
- Eclipse Platform 新闻组 应当是讨论关于 Eclipse 的问题的第一站(选择此链接将启动默认的 Usenet 新闻阅读器应用程序并打开 eclipse.platform)。
- Eclipse 新闻组 中有很多参考资料适用于对使用和扩展 Eclipse 感兴趣的人员。
- 通过参与 developerWorks blogs 加入 developerWorks 社区。
Chris Aniszczyk 是 IBM Lotus 的软件工程师,专门从事 OSGi 相关开发工作。他是开放源码的忠实拥护者,目前在开发 Gentoo Linux 发行版,他还是一些 Eclipse 项目(PDE、ECF、EMFT)的参与者。他十分 乐意与您讨论 关于开放源码和 Eclipse 方面的问题。 |
发表评论
-
java中使用存储过程出现"该语句没有返回结果集"
2012-02-14 15:32 1919在jsp中调用存储过程,本来用的是sqlserver200 ... -
智能校车---校车解决方案
2012-01-30 13:37 1442... -
一个澳大利亚大三学生的作业
2010-12-06 15:33 1527最近有一个澳大利亚的学生来公司做二个月的实生,听他说是这他们学 ... -
WebLogic部署数据源
2010-10-22 08:47 2097http://www.cstc.org.cn/tabid/88 ... -
javax.net.ssl.SSLHandshakeException
2010-07-28 11:09 14442在执行webservice的过程中,出现如下异常: ja ... -
j2me 在手机上,截屏你的程序
2010-07-12 15:16 1380收藏起来:http://www.iteye.com/topic ... -
LWUIT显示漂亮的loading界面的两种方法
2010-07-06 20:23 2784强烈推荐此blog作者的博客 原文出处:http:// ... -
轻量级用户界面工具包(LWUIT)简介
2010-06-02 16:10 1766原文出处:http://developer ... -
LWUIT的资源编辑与应用
2010-06-02 16:06 1730在LWUIT下载包中,有一个名为“Resource Edi ... -
LWUIT的布局与Style的使用
2010-06-02 16:04 1703一、LWUIT的布局 LWUIT一共有五个布局,分别是: ... -
关于WAP项目有话要说
2010-05-27 16:05 1808搞一了个月的 ... -
WAP相关资料
2010-05-07 08:48 1601在上次视频中,演示了安装 jdk 1.7 和 Nokia Mo ... -
linux安装svn 分享
2010-03-30 10:46 2121在linux下安装配置svn独立服务器 SVN技术网 www ... -
解决Mysql无法远程连接的问题
2010-03-29 14:18 3841解决Mysql 无法远程 ... -
svn eclipse插件突然失效怎么办?
2010-03-26 14:24 7119前段时间遇到了svn eclipse插件突然失效的问题,差 ... -
实战篇:设计自己的Annotation
2010-03-23 13:36 752Annotation在java的世界正铺天盖地展开,有空 ... -
tomcat:java.lang.outofmemoryerror permgen space
2010-03-04 15:55 1120这个问题是我的工程中 ... -
如struts中配有如下几个action,ManagerUserAction中有与之对应的方法 <action name="addUser" class="
2010-03-04 11:16 2968如struts中配有如下几个action,ManagerUse ... -
Spring2.5注释驱动与基于注释的MVC
2010-03-03 15:35 1218转摘自:http://tonyaction.blog.51ct ... -
log4j:WARN Please initialize the log4j system properly 问题解决
2010-03-03 11:06 4355今天花了点时间搞定了个并不是很重要的问题 在tomcat ...
相关推荐
本文主要介绍了使用Eclipse将Java应用程序打包成JAR文件,并在Linux系统上部署和运行的步骤。下面是知识点的详细说明: 一、Eclipse打包Java应用程序 1. 在Eclipse中,右键点击Java项目,选择Export,选择导出为...
**使用Eclipse开发J2ME应用程序(上)** 在移动设备和嵌入式系统的世界里,J2ME(Java 2 Micro Edition)是用于开发应用程序的首选平台之一。Eclipse,作为一个强大的开源集成开发环境(IDE),也提供了对J2ME开发...
在构建应用程序后,开发者可以使用 Eclipse 的调试工具进行测试。这些工具包括断点、变量监视、线程查看器和调用堆栈,帮助识别和解决问题。 【创建内容提供者和 Google Maps 应用程序系统】 更高级的应用程序开发...
在本教程中,我们将深入探讨如何使用Eclipse IDE来开发J2ME(Java 2 Micro Edition)应用程序。Eclipse是一款广泛使用的开源集成开发环境,它为各种编程语言提供了强大的支持,包括Java。J2ME是Java平台的一个子集,...
Eclipse开发Android应用程序入门 Android是一个基于Linux内核的开源平台,提供了功能强大的硬件支持和多样的软件平台,移动设备开发者前景充满了机会和挑战。要开发Android应用程序,需要选择合适的开发环境和工具...
本文主要讲解了如何使用 Tomcat 和 Eclipse 开发 Web 应用程序,包括如何创建一个新的 Web 项目、如何配置 Tomcat 服务器、如何将项目部署到 Tomcat 服务器上。 创建新的 Web 项目 首先,在 Eclipse 中创建一个新...
在本教程中,我们将使用 Eclipse 作为开发环境,使用 Android Developer Tools 插件来开发 Android 应用程序。我们还将使用 AndroidManifest.xml 文件来描述应用程序的部署信息,使用 IntentReceiver 来处理 ...
【使用Eclipse编译运行MapReduce程序】 MapReduce是Google提出的一种编程模型,用于大规模数据集的并行计算。在Hadoop生态系统中,MapReduce被广泛应用于处理和生成大数据。Eclipse作为流行的Java集成开发环境,...
1. **创建基本的 RCP 应用程序**:使用 Eclipse 提供的 RCP 模板创建一个基本的应用程序框架。 2. **添加功能**:向应用程序添加动作、首选项页面、视图和帮助等功能。 3. **品牌化**:添加商标信息,使应用程序更具...
使用Eclipse创建和运行Java程序 使用Eclipse开发Java程序 Java程序的运行机制 了解常用的集成开发环境 掌握使用Eclipse创建和运行Java程序 集成开发环境 集成开发环境(Integrated Development Environment,IDE)将...
总结一下,本教程涵盖了使用Eclipse和JBoss建立J2EE应用程序的关键步骤,包括Eclipse的J2EE环境配置、项目创建、代码编写、应用部署和服务器管理。通过这个过程,开发者可以熟练掌握Java EE开发的基本流程,为构建...
Nokia提供的使用Eclipse调试J2ME程序的文档,讲解非常详细。
《Android的应用程序框架与Eclipse开发应用程序入门》一书,为初学者提供了全面的指导,尤其适合在校大学生和想要涉足Android应用开发的程序员。本文将深入解析Android应用程序的基础框架,并以HelloActivity为例...
使用 Eclipse 和 Java SE 创建独立 Web Services 应用程序 本文将指导读者使用 Eclipse 和 Java SE 6 创建独立 Web Services 应用程序。通过本教程,读者将学习如何使用 Eclipse 集成开发环境(Integrated ...
在本文中,我们将深入探讨如何使用Eclipse IDE来调试J2ME(Java 2 Micro Edition)应用程序。Eclipse是一款强大的开源集成开发环境,支持多种编程语言,包括Java,因此它是开发J2ME应用的理想选择。J2ME是Java平台的...
用Eclipse开发java_web应用程序
在IT行业中,开发数据库驱动的Web应用程序是一项常见的任务,而Eclipse作为一个强大的集成开发环境(IDE),提供了便捷的工具来支持这一过程。本教程将详细讲解如何利用Eclipse创建一个数据库Web应用程序,帮助...
**基于Eclipse环境的J2ME应用程序开发** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能家电等。Eclipse作为流行的Java开发集成环境,提供了强大的工具支持,使得...