翻译自  JavaFX概述

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

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

  • JavaFX应用程序

  • 可用性

  • 主要特点

  • 我可以用JavaFX构建什么?

  • 如何运行示例应用程序?

  • 如何在IDE中运行示例?

  • 如何创建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的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图形功能Shape3DBox, Cylinder, MeshView, and Sphere子类)SubScene, Material, PickResult, LightBase (AmbientLightPointLight子类的新API类SceneAntialiasing已添加到JavaFX 8中的3D图形库中。Camera此类版本中的API类也已更新。欲了解更多信息,请参阅入门JavaFX的3D图形文件和相应的API的javadoc的javafx.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

Ensemble8是一个示例应用程序库,展示了各种JavaFX功能,包括动画,图表和控件。您可以在所有平台上查看每个正在运行的示例并与之交互,并阅读其说明。在桌面平台上,您可以复制每个示例的源代码,调整多个示例中使用的示例组件的属性,并在连接到Internet时跟踪指向相关API文档的链接.Ensemble8也可以与JavaFX for ARM一起运行。

摩德纳

Modena是一个示例应用程序,它使用Modena主题演示UI组件的外观。它为您提供了对比Modena和Caspian主题的选项,并探索了这些主题的各个方面。

3D查看器

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

3DViewer还能够将场景内容导出为Java或FXML文件。

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文件并解压缩文件。

    javafx-samples-8.x目录已创建并包含可用样本的文件。样本的NetBeans项目位于javafx-samples-8.x\src目录中。

  6. 双击示例的可执行文件。

    例如,要运行Ensemble8预构建的示例应用程序,请双击该Ensemble8.jar文件。

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

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

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

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

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

    1. 从“ 文件”菜单中,选择“ 打开项目”

    2. 在“ 打开项目”对话框中,导航到列出示例的目录。导航路径如下所示:

      ..\javafx_samples-8.x-<platform>\javafx-samples-8.x\src
    3. 选择要查看的样本。

    4. 单击“ 打开项目”按钮。

  3. 在“项目”窗口中,右键单击刚刚打开的项目,然后选择“运行”
    请注意,“输出”窗口已更新,并且示例项目已运行并已部署。

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组件拖放到工作区,修改其属性,应用样式表,并将生成的代码与其应用程序逻辑集成。

    1. 从JavaFX下载页面下载JavaFX Scene Builder http://www.oracle.com/technetwork/java/javase/downloads/

    2. 按照JavaFX Scene Builder入门教程了解更多信息。

JavaFX官方教程(一)之JavaFX概述相关推荐

  1. JavaFX官方教程(七)之使用FXML创建用户界面

    翻译自  使用FXML创建用户界面 本教程展示了使用JavaFX FXML的好处,JavaFX FXML是一种基于XML的语言,它提供了构建与代码的应用程序逻辑分开的用户界面的结构. 如果您从一开始就 ...

  2. JavaFX官方教程(六)之带有JavaFX CSS的花式表单

    翻译自  带有JavaFX CSS的花式表单 本教程通过添加级联样式表(CSS)使您的JavaFX应用程序看起来很有吸引力.您开发设计,创建.css文件并应用新样式. 在本教程中,您将获取一个使用标签 ...

  3. JavaFX官方教程(五)之在JavaFX中创建表单

    翻译自  在JavaFX中创建表单 在开发应用程序时,创建表单是一项常见活动.本教程将向您介绍屏幕布局的基础知识,如何将控件添加到布局窗格以及如何创建输入事件. 在本教程中,您将使用JavaFX构建如 ...

  4. JavaFX官方教程(四)之Hello World,JavaFX样式

    翻译自   Hello World,JavaFX Style 教你创建和构建JavaFX应用程序的最佳方法是使用"Hello World"应用程序.本教程的另一个好处是,它使您能够 ...

  5. JavaFX官方教程(二)之JavaFX体系结构

    翻译自   JavaFX体系结构 本章提供了JavaFX体系结构和生态系统的高级描述. 图2-1说明了JavaFX平台的架构组件.图中的部分描述了每个组件以及这些部件如何互连.JavaFX公共API下 ...

  6. JavaFX官方教程(十五)之A Xylophone.java

    翻译自  Xylophone.java 一个 Xylophone.java 有关说明,请参阅转换类型和示例. 法律条款和版权声明 / **版权所有(c)2010,2014,Oracle和/或其附属公司 ...

  7. JavaFX官方教程(十一)之动画基础

    翻译自   动画基础 动画基础提供基本动画概念,包含以下部分: 转变 时间线动画 插值 JavaFX中的动画可以分为时间轴动画和过渡.本章提供了每种动画类型的示例. Timeline并且Transit ...

  8. JavaFX开发教程-什么是JavaFX?

    JavaFX教程目录 JavaFX教程-什么是JavaFX? 1.JavaFX是基于java语言的 图形化界面工具箱,带有大量的内置组件,如按钮,文本字段,表格,树,菜单,图表等 2.JavaFX支持 ...

  9. JavaFX官方教程(八)之JavaFX中的动画和视觉效果

    翻译自  JavaFX中的动画和视觉效果 您可以使用JavaFX快速开发具有丰富用户体验的应用程序.在本入门教程中,您将学习如何使用非常少的编码创建动画对象并获得复杂的效果. 图7-1显示了要创建的应 ...

最新文章

  1. 【Android 应用开发】Android 平台 HTTP网速测试 案例 API 分析
  2. 从无到有算法养成篇-算法基础常识
  3. HTML基础_Day01
  4. 香港大学顾佳涛:非自回归神经机器翻译 | 直播预告
  5. 环信集成 2---基于环信Demo3.0,实现单聊功能
  6. python记录日志_5分钟内解释日志记录—使用Python演练
  7. js 获得明天0点时间戳_js实现一个简单钟表动画(javascript+html5 canvas)
  8. java 正则表达式 中文数字和字母_Java中过滤出字母、数字和中文的正则表达式...
  9. 开课吧9.9元学python靠谱吗-开课吧的python课程怎么样,值得报名吗?
  10. 小米网卡驱动_小米是什么?(上)
  11. Cordova 插件详解
  12. 人工智能产生式系统动物识别实验python
  13. fgo服务器维护更新,fgo命运冠位指定活动维护公告 12月2日更新
  14. VS2015 还是VS2017 好用_如何卸载清理vs2017前vs2015,vs2013等版本
  15. TextStyleOpts:文字样式配置项
  16. 如何在win10自带的Edge浏览器中切换成IE浏览器浏览网站
  17. 浙江大学计算机考研最新,2017年浙江大学计算机考研复试分数线_浙江大学考研分数线...
  18. 名帖191 米芾 行书《苕溪诗卷》
  19. EOJ Contest61 2018研究生面试机考(软件工程)个人题解
  20. ME54N 采购申请审批

热门文章

  1. 后端学习 - Spring5
  2. 「软件项目管理」一文详解软件项目管理概述
  3. [SpringBoot2]文件上传_单文件与多文件上传的使用
  4. 洛谷 P1122 最大子树和-求树的最大子树权值和
  5. [蓝桥杯][历届试题]连号区间数
  6. Ticket Game CodeForces - 1215D(博弈题,巴什博弈思维)
  7. android webview framework,android – Webview导致ANR
  8. python适用范围_Python应用范围总结概览
  9. 请求分页算法 Python实现
  10. 【LOJ#572】Misaka Network 与求和(莫比乌斯反演/杜教筛/min_25筛)