JavaFX官方教程.1 之JavaFX概述

翻译自  JavaFX概述

本章概述了可以使用JavaFX API构建的应用程序类型,下载JavaFX库的位置以及有关正在交付的关键JavaFX功能的高级信息。

JavaFX是一组图形和媒体包,使开发人员能够设计,创建,测试,调试和部署在不同平台上一致运行的富客户端应用程序。

请参阅了解JavaFX体系结构一章,了解JavaFX平台体系结构,并获得用于媒体流,Web呈现和用户界面样式的JavaFX API的简要说明。

 

1、JavaFX应用程序

由于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的javadocJavaFX的应用程序中嵌入的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图形功能Shape3DBox, Cylinder, MeshView, and Sphere子类)SubScene, Material, PickResult, LightBase (AmbientLightPointLight子类的新API类SceneAntialiasing已添加到JavaFX 8中的3D图形库中。Camera此类版本中的API类也已更新。欲了解更多信息,请参阅入门JavaFX的3D图形文件和相应的API的javadocjavafx.scene.shape.Shape3Djavafx.scene.SubScene, javafx.scene.paint.Material, javafx.scene.input.PickResultjavafx.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运行时的私有副本。它们作为本机可安装程序包分发,并提供与该操作系统的本机应用程序相同的安装和启动体验。

 

2、我可以用JavaFX构建什么?

使用JavaFX,您可以构建多种类型的应用程序。通常,它们是跨多个平台部署的网络感知应用程序,并在具有音频,视频,图形和动画的高性能现代用户界面中显示信息。

表1-1示出了几个附带了JavaFX 8.样品JavaFX应用程序的图像Ñ释放。

表1-1 JavaFX应用程序示例

样例应用描述

JavaFX Ensemble 8

		<p style="margin-left:0px;"><span style="color:#222222;">Ensemble8是一个示例应用程序库,展示了各种JavaFX功能,包括动画,图表和控件。您可以在所有平台上查看每个正在运行的示例并与之交互,并阅读其说明。在桌面平台上,您可以复制每个示例的源代码,调整多个示例中使用的示例组件的属性,并在连接到Internet时跟踪指向相关API文档的链接.Ensemble8也可以与JavaFX for ARM一起运行。</span></p>
		</td>
	</tr><tr><td id="r3c1-t2" style="vertical-align:top;width:183px;">
		<p style="margin-left:0px;"><img alt="" class="has" height="150" src="https://img-blog.csdn.net/20181014114817944?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21vYWt1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" width="150"></p>
		</td>
		<td style="vertical-align:top;width:666px;">
		<p style="margin-left:0px;"><span style="color:#222222;"><strong>摩德纳</strong></span></p>

		<p style="margin-left:0px;"><span style="color:#222222;">Modena是一个示例应用程序,它使用Modena主题演示UI组件的外观。它为您提供了对比Modena和Caspian主题的选项,并探索了这些主题的各个方面。</span></p>
		</td>
	</tr><tr><td id="r4c1-t2" style="vertical-align:top;width:183px;">
		<p style="margin-left:0px;"><img alt="" class="has" height="150" src="https://img-blog.csdn.net/20181014114850567?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21vYWt1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" width="150"></p>
		</td>
		<td style="vertical-align:top;width:666px;">
		<p style="margin-left:0px;"><span style="color:#222222;"><strong>3D查看器</strong></span></p>

		<p style="margin-left:0px;"><span style="color:#222222;">3DViewer是一个示例应用程序,允许您使用鼠标或触控板导航和检查3D场景。3DViewer具有OBJ和Maya文件中的一部分功能的导入程序。还为Maya文件提供了导入动画的功能。(请注意,对于Maya文件,在保存为Maya文件时,应删除所有对象的构建历史记录。)</span></p>

		<p style="margin-left:0px;"><span style="color:#222222;">3DViewer还能够将场景内容导出为Java或FXML文件。</span></p>
		</td>
	</tr></tbody></table></div><p>&nbsp;</p>

3、如何运行示例应用程序?

本节中的步骤介绍了如何下载和运行可通过Java平台(JDK 8)单独下载的示例应用程序。

注意:

在运行示例JavaFX应用程序之前,需要在计算机上安装JavaFX运行时库。在继续执行这些步骤之前,请安装最新版本的JDK 8或最新版本的JRE

要下载并运行示例应用程序:

  1. 转到Java SE下载页面http://www.oracle.com/technetwork/java/javase/downloads/

  2. 向下滚动以找到JDK 8和JavaFX演示和示例部分。

  3. 单击演示和示例下载按钮转到下载页面。

  4. 在Java SE Development Kit 8下载页面上,向下滚动到JavaFX演示和示例下载部分。

  5. 下载适用于正确操作系统的zip文件并解压缩文件。

    <p style="margin-left:0px;"><span style="color:#222222;">该<code>javafx-samples-8.x</code>目录已创建并包含可用样本的文件。样本的NetBeans项目位于<code>javafx-samples-8.x\src</code>目录中。</span></p>
    </li>
    <li>
    <p style="margin-left:0px;"><span style="color:#222222;">双击示例的可执行文件。</span></p>
    
    <p style="margin-left:0px;"><span style="color:#222222;">例如,要运行Ensemble8预构建的示例应用程序,请双击该<code>Ensemble8.jar</code>文件。</span></p>
    </li>
    

 

4、如何在IDE中运行示例?

您可以使用多个Java开发IDE来开发JavaFX应用程序。以下步骤说明如何在NetBeans IDE中查看和运行源代码。

要在NetBeans IDE中查看和运行示例源代码,请执行以下操作:

  1. 如上所述下载样本,然后解压缩文件。

  2. 在NetBeans 7.4或更高版本的IDE中,加载要查看的示例的项目。

    <ol style="margin-left:0px;"><li>
    	<p style="margin-left:0px;"><span style="color:#222222;">从“&nbsp;<strong>文件”</strong>菜单中,选择“&nbsp;<strong>打开项目”</strong>。</span></p>
    	</li>
    	<li>
    	<p style="margin-left:0px;"><span style="color:#222222;">在“&nbsp;<strong>打开项目”</strong>对话框中,导航到列出示例的目录。导航路径如下所示:</span></p>
    
    	<pre class="has" style="margin-left:0px;" name="code"><code class="language-oac_no_warn hljs">..\javafx_samples-8.x-&lt;platform&gt;\javafx-samples-8.x\src</code><div class="hljs-button {2}" data-title="复制" onclick="hljs.copyCode(event)"></div></pre>
    	</li>
    	<li>
    	<p style="margin-left:0px;"><span style="color:#222222;">选择要查看的样本。</span></p>
    	</li>
    	<li>
    	<p style="margin-left:0px;"><span style="color:#222222;">单击“&nbsp;<strong>打开项目”</strong>按钮。</span></p>
    	</li>
    </ol></li>
    <li>
    <p style="margin-left:0px;"><span style="color:#222222;">在“项目”窗口中,右键单击刚刚打开的项目,然后选择<strong>“运行”</strong>。<br>
    请注意,“输出”窗口已更新,并且示例项目已运行并已部署。</span></p>
    </li>
    

 

5、如何创建JavaFX应用程序?

由于JavaFX应用程序是用Java语言编写的,因此您可以使用自己喜欢的编辑器或任何支持Java语言的集成开发环境(IDE)(例如NetBeans,Eclipse或IntelliJ IDEA)来创建JavaFX应用程序。

要创建JavaFX应用程序:

  1. 转到Java SE下载页面,http://www.oracle.com/technetwork/java/javase/downloads/下载带有JavaFX 8. n支持的Oracle®JDK8 。该页面还提供了经过认证的系统配置和发行说明的链接。

  2. 使用JavaFX示例应用程序入门创建简单的应用程序,演示如何使用布局,样式表和视觉效果。

  3. 使用JavaFX Scene Builder为您的JavaFX应用程序设计UI而无需编码。您可以将UI组件拖放到工作区,修改其属性,应用样式表,并将生成的代码与其应用程序逻辑集成。

    <ol style="margin-left:0px;"><li>
    	<p style="margin-left:0px;"><span style="color:#222222;">从JavaFX下载页面下载JavaFX Scene Builder&nbsp;<code><a href="http://www.oracle.com/technetwork/java/javase/downloads/" rel="nofollow">http://www.oracle.com/technetwork/java/javase/downloads/</a></code>。</span></p>
    	</li>
    	<li>
    	<p style="margin-left:0px;"><span style="color:#222222;">按照JavaFX Scene Builder入门教程了解更多信息。</span></p>
    	</li>
    </ol></li>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值