JavaFX概览
JavaFX认知
JavaFX平台是java客户端设计演进,使应用开发者易于创建和部署跨平台且表现一致的Rich Internet Application(RIAs)。是由Java技术构建,基于高性能硬件加速的媒体和图形引擎,JavaFX平台提供了一套丰富的图形和媒体API,简化了数据驱动的企业客户端部署。
作为Java生态体系的一部分,投资于javafx平台将使java开发者和公司得到如下好处:
1. JavaFX平台是由Java技术构建,java开发者可以继续使用原来的技巧、工具开发JavaFX应用;
2. 由于Java的广泛使用,更容易找到有经验的开发者,并能很快成为一个高生产性的JavaFX应用开发者;
3. 基于java同类服务器和客户端平台一套技术,减少了javafx平台商务方案的复杂性并降低了投资风险;
4. 基于前述的优点,开发成本也减少了;
5. JavaFX平台给开发者提供了一个开发框架和一个运行环境,以便创建支持java的跨平台企业和商务应用。
在“JavaFX架构和框架”部分,可学习更多关于JavaFX平台的架构和关键概念。
JavaFX简史
在2007年JavaOne大会上,Sun公司介绍了Javafx平台,以便帮助内容开发者和应用开发者去创建基于移动设备、桌面、电视以及其他消费设备的内容丰富的应用。初始版javafx由Mobile平台和Javafx脚本语言构成,其它公开发布的都是基于初始版本的衍生。Javafx1.3版于2010年4月22发布。
在Oracle收购Sun后,Oracle在2010年JavaOne大会宣布对Javafx脚本语言的支持将停止。但同时也宣布作为JavaFX2.0产品一部分的Javafx脚本APIs将被导入到Java。这也意味着JavaFX的功能对于所有java开发者将是可用的——不需要他们学习新的脚本语言。同时,Oracle宣布Javafx将是富客户端应用首选的开发环境。
JavaFX2.0新特性
Javafx2.0的发行版主要焦点领域在于包括如下特征中(很多内容也在JavaFX架构与框架中也有相应描述):
Ø JavaFX的Java APIs:提供所有java开发者常用的、熟悉的语言特性(诸如泛型、标注和多线程等)。这些APIs设计友好且可选择不同JVM语言调用,诸如JRuby和Scala。由于JavaFX功能通过Java APIs可用,你可以继续使用你钟爱的java开发工具(例如IDEs、代码重构、调试和解析工具等)去开发JavaFX应用
Ø 新的图形引擎(GPUs):新引擎的基础是硬件加速的称之为Prism图形管道,并耦合了新的称之为Glass视窗工具包。图形引擎为当前和将来创建丰富图形提供了简化、润滑和快速的基础支持。
Ø 新的声明式标记语言FXML:是基于xml并用于JavaFX应用中定义用户接口。FXML不需要编译。这样就意味着每次改变布局代码时不需要重新编译代码。
Ø 新媒体引擎:支持web多媒体内容的重放。JavaFX该框架提供稳定的、低延迟的媒体框架——是基于GStreamer多媒体框架的。
Ø Web组件:在JavaFX应用中使用WebKit HTML渲染技术,实现组件的页面嵌入能力。通过Prism实现硬件加速渲染有效可用。
Ø 更新浏览器插件:javafx浏览器插件允许基于Prism加载JavaFX applets。
Ø 丰富的内建UI控件:包括图、表格、菜单、布局面板。另外,通过提供的API允许第三方发布UI控件供用户社区使用。
Ø 应用示例:展示了JavaFX20技术的不同特性,并附有大量的示例代码和片段。
Ø 更新的Doclet:使用javadoc工具生成HTML格式的JavaFX API文档(怎么使用这些更新的doclet,详细信息可以查阅:随JavaFX使用Doclet)。
用JavaFX能构建什么
图表-1展示了JavaFX应用的一些示例略图。这些示例包含在JavaFX2.0的发布版中。为了运行这些示例和附加应用,可以到这里进一步查看:
http://www.oracle.com/technetwork/java/javafx/downloads/index.html
.。 下载的示例zip文件包含JavaFX例子以及扩展文件。解压后可双击相应的可执行文件(*.jar),如果JavaFX2.0环境正常,将可查看到相应的运行效果。
图表-1 JavaFX应用示例
应用示例 | 描述 |
JavaFX Ensemble(总效果示例) 总效果演示提供了一个不同JavaFX特性应用的展廊,例如动画、图表、控件等。 | |
Sales Dashboard (销售仪表盘-DataApp) 一个为虚构的全球汽车公司(Henley Automobiles)构建的客户/服务器应用。汽车销售使用JavaDB并基于EJB模拟。这些数据通过Derby和Restfulweb服务时可用的。通过使用FXML和JavaFX,实现客户端演示了不同的数据表现 | |
SwingInterop Sample 这个Swing应用展示了Swing 和 JavaFX 可被如何联合。使用 JavaFX组件在一个tab中实现了图表 在另一个tab中实现了一个简单的浏览。 |
每个示例的源代码在 javafx-samples-2.0.x\src
目录下。为了查看源代码, 可在javafx-samples-2.0.x\src\<sample>
目录进行查看。每个代码示例目录都是各异NetBeans工程。
怎么创建JavaFX应用
因为JavaFX应用是用Java语言编写的,你可以使用你喜欢的编辑器或任何支持java语言的IDE(NetBeans, Eclipse, Oracle JDeveloper, or IntelliJ IDEA ete.)来开发JavafX应用。你也可以跟随下面的步骤介绍来开始JavafX应用的创建:
1. 到 http://www.oracle.com/technetwork/java/javafx/downloads/index.html/ 下载 JavaFX SDK.到 Release Documentation 页面查看系统需求和安装介绍(包括计划使用的版本)
2. 学习 Getting Started with JavaFX 教程创建简单动画应用。
附加资源
使用下面的资源学习更多关于JavaFX技术。
· JavaFX Architecture and Framework
· Additional JavaFXtutorials and articles