翻译自 JavaFX概述
本章概述了可以使用JavaFX API构建的应用程序类型,下载JavaFX库的位置以及有关正在交付的关键JavaFX功能的高级信息。
JavaFX是一组图形和媒体包,使开发人员能够设计,创建,测试,调试和部署在不同平台上一致运行的富客户端应用程序。
JavaFX应用程序
可用性
主要特点
我可以用JavaFX构建什么?
如何运行示例应用程序?
如何在IDE中运行示例?
如何创建JavaFX应用程序?
资源
请参阅了解JavaFX体系结构一章,了解JavaFX平台体系结构,并获得用于媒体流,Web呈现和用户界面样式的JavaFX API的简要说明。
由于JavaFX库是作为Java API编写的,因此JavaFX应用程序代码可以引用任何Java库中的API。例如,JavaFX应用程序可以使用Java API库来访问本机系统功能并连接到基于服务器的中间件应用程序。
可以自定义JavaFX应用程序的外观。层叠样式表(CSS)将外观和样式与实现分开,以便开发人员可以专注于编码。图形设计人员可以通过CSS轻松自定义应用程序的外观和样式。如果您有Web设计背景,或者您希望将用户界面(UI)和后端逻辑分开,那么您可以使用FXML脚本语言开发UI的表示方面,并为应用程序使用Java代码逻辑。如果您更喜欢在不编写代码的情况下设计UI,那么请使用JavaFX Scene Builder。在设计UI时,Scene Builder会创建可以移植到集成开发环境(IDE)的FXML标记,以便开发人员可以添加业务逻辑。
可用性
JavaFX API可作为Java SE运行时环境(JRE)和Java Development Kit(JDK)的完全集成功能使用。由于JDK适用于所有主要桌面平台(Windows,Mac OS X和Linux),因此编译为JDK 7及更高版本的JavaFX应用程序也可在所有主要桌面平台上运行。JavaFX 8也提供对ARM平台的支持.JDK for ARM包括JavaFX的基础,图形和控件组件。
跨平台兼容性为JavaFX应用程序开发人员和用户提供了一致的运行时体验。Oracle确保在所有平台上同步发布和更新,并为运行任务关键型应用程序的公司提供广泛的支持计划。
在JDK下载页面上,您可以获得JavaFX示例应用程序的zip文件。示例应用程序提供了许多代码示例和代码段,通过示例演示如何编写JavaFX应用程序。请参阅“如何运行示例应用程序?” 欲获得更多信息。
主要特点
JavaFX 8及更高版本中包含以下功能。在JavaFX 8版本中引入的项目相应地指示:
Java API。JavaFX是一个Java库,由用Java代码编写的类和接口组成。API旨在成为Java虚拟机(Java VM)语言的友好替代方案,例如JRuby和Scala。
FXML和场景生成器。FXML是一种基于XML的声明性标记语言,用于构建JavaFX应用程序用户界面。设计人员可以使用FXML进行编码,也可以使用JavaFX Scene Builder以交互方式设计图形用户界面(GUI)。Scene Builder生成FXML标记,可以移植到IDE,开发人员可以在IDE中添加业务逻辑。
WebView。一个Web组件,它使用WebKitHTML技术,可以在JavaFX应用程序中嵌入Web页面。在WebView中运行的JavaScript可以调用Java API,Java API可以调用在WebView中运行的JavaScript。JavaFX 8中添加了对其他HTML5功能的支持,包括Web套接字,Web Worker和Web字体以及打印功能。请参阅向JavaFX应用程序添加HTML内容。
Swing互操作性。现有的Swing应用程序可以使用JavaFX功能进行更新,例如丰富的图形媒体播放和嵌入式Web内容。在SwingNode
类,这使您可以嵌入Swing的内容为JavaFX应用程序,已在JavaFX的8添加见SwingNode API的javadoc和JavaFX的应用程序中嵌入的Swing内容以获取更多信息。
内置UI控件 和CSS。JavaFX提供了开发功能齐全的应用程序所需的所有主要UI控件。组件可以使用标准Web技术(如CSS)进行外观处理。现在,JavaFX 8版本提供了DatePicker和TreeTableView UI控件。有关更多信息,请参阅使用JavaFX UI控件。此外,CSS Styleable *类已成为公共API,允许通过CSS设置对象样式。
摩德纳主题。Modena主题将Caspian主题替换为JavaFX 8应用程序的默认主题。通过setUserAgentStylesheet(STYLESHEET_CASPIAN)
在Application start()方法中添加该行,Caspian主题仍可供您使用。有关更多信息,请访问fxexperience.com上的Modena博客
3D图形功能。Shape3D
(Box, Cylinder, MeshView, and Sphere
子类)SubScene, Material, PickResult, LightBase (AmbientLight
和PointLight
子类的新API类SceneAntialiasing
已添加到JavaFX 8中的3D图形库中。Camera
此类版本中的API类也已更新。欲了解更多信息,请参阅入门JavaFX的3D图形文件和相应的API的javadoc的javafx.scene.shape.Shape3D
,javafx.scene.SubScene, javafx.scene.paint.Material, javafx.scene.input.PickResult
和javafx.scene.SceneAntialiasing
。
Canvas API。Canvas API可以直接在JavaFX场景的一个区域内绘制,该区域由一个图形元素(节点)组成。
打印API。该javafx.print
软件包已添加到Java SE 8发行版中,并提供JavaFX Printing API的公共类。
富文本支持。JavaFX 8为JavaFX带来了增强的文本支持,包括双向文本和复杂文本脚本,例如控件中的Thai和Hindu,以及文本节点中的多行,多样式文本。
多点触控支持。JavaFX基于底层平台的功能为多点触控操作提供支持。
Hi-DPI支持。JavaFX 8现在支持Hi-DPI显示。
硬件加速图形管道。JavaFX图形基于图形渲染管道(Prism)。JavaFX提供平滑的图形,当它与支持的图形卡或图形处理单元(GPU)一起使用时,可以通过Prism快速渲染。如果系统没有JavaFX支持的推荐GPU之一,则Prism默认使用软件渲染堆栈。
高性能媒体引擎。媒体管道支持web多媒体内容的回放。它提供了一个基于GStreamer多媒体框架的稳定,低延迟的媒体框架。
自包含的应用程序部署 模型。自包含的应用程序包具有所有应用程序资源以及Java和JavaFX运行时的私有副本。它们作为本机可安装程序包分发,并提供与该操作系统的本机应用程序相同的安装和启动体验。
使用JavaFX,您可以构建多种类型的应用程序。通常,它们是跨多个平台部署的网络感知应用程序,并在具有音频,视频,图形和动画的高性能现代用户界面中显示信息。
表1-1示出了几个附带了JavaFX 8.样品JavaFX应用程序的图像Ñ释放。
表1-1 JavaFX应用程序示例
样例应用 | 描述 |
---|---|
JavaFX Ensemble 8
|
|
摩德纳 Modena是一个示例应用程序,它使用Modena主题演示UI组件的外观。它为您提供了对比Modena和Caspian主题的选项,并探索了这些主题的各个方面。 |
|
3D查看器 3DViewer是一个示例应用程序,允许您使用鼠标或触控板导航和检查3D场景。3DViewer具有OBJ和Maya文件中的一部分功能的导入程序。还为Maya文件提供了导入动画的功能。(请注意,对于Maya文件,在保存为Maya文件时,应删除所有对象的构建历史记录。) 3DViewer还能够将场景内容导出为Java或FXML文件。 |
本节中的步骤介绍了如何下载和运行可通过Java平台(JDK 8)单独下载的示例应用程序。
注意:
在运行示例JavaFX应用程序之前,需要在计算机上安装JavaFX运行时库。在继续执行这些步骤之前,请安装最新版本的JDK 8或最新版本的JRE。
要下载并运行示例应用程序:
转到Java SE下载页面http://www.oracle.com/technetwork/java/javase/downloads/
。
向下滚动以找到JDK 8和JavaFX演示和示例部分。
单击演示和示例下载按钮转到下载页面。
在Java SE Development Kit 8下载页面上,向下滚动到JavaFX演示和示例下载部分。
下载适用于正确操作系统的zip文件并解压缩文件。
该javafx-samples-8.x
目录已创建并包含可用样本的文件。样本的NetBeans项目位于javafx-samples-8.x\src
目录中。
双击示例的可执行文件。
例如,要运行Ensemble8预构建的示例应用程序,请双击该Ensemble8.jar
文件。
您可以使用多个Java开发IDE来开发JavaFX应用程序。以下步骤说明如何在NetBeans IDE中查看和运行源代码。
要在NetBeans IDE中查看和运行示例源代码,请执行以下操作:
如上所述下载样本,然后解压缩文件。
在NetBeans 7.4或更高版本的IDE中,加载要查看的示例的项目。
-
从“ 文件”菜单中,选择“ 打开项目”。
-
在“ 打开项目”对话框中,导航到列出示例的目录。导航路径如下所示:
..\javafx_samples-8.x-<platform>\javafx-samples-8.x\src
-
选择要查看的样本。
-
单击“ 打开项目”按钮。
在“项目”窗口中,右键单击刚刚打开的项目,然后选择“运行”。
请注意,“输出”窗口已更新,并且示例项目已运行并已部署。
由于JavaFX应用程序是用Java语言编写的,因此您可以使用自己喜欢的编辑器或任何支持Java语言的集成开发环境(IDE)(例如NetBeans,Eclipse或IntelliJ IDEA)来创建JavaFX应用程序。
要创建JavaFX应用程序:
转到Java SE下载页面,http://www.oracle.com/technetwork/java/javase/downloads/
下载带有JavaFX 8. n支持的Oracle®JDK8 。该页面还提供了经过认证的系统配置和发行说明的链接。
使用JavaFX示例应用程序入门创建简单的应用程序,演示如何使用布局,样式表和视觉效果。
使用JavaFX Scene Builder为您的JavaFX应用程序设计UI而无需编码。您可以将UI组件拖放到工作区,修改其属性,应用样式表,并将生成的代码与其应用程序逻辑集成。
-
从JavaFX下载页面下载JavaFX Scene Builder http://www.oracle.com/technetwork/java/javase/downloads/
。
-
按照JavaFX Scene Builder入门教程了解更多信息。