Javafx 简明教程

JavaFX - Overview

Rich Internet Applications 是那些提供类似桌面应用程序功能和体验的网络应用程序。与普通网络应用程序相比,它们为用户提供更好的视觉体验。这些应用程序作为浏览器插件或虚拟机提供,用于将传统的静态应用程序转换为增强、流畅、动画化且引人入胜的应用程序。

不同于传统的桌面应用程序,RIA 无需任何附加软件即可运行。作为替代,您应该根据应用程序安装 ActiveX、Java、Flash 等软件。

在 RIA 中,图形呈现由客户端处理,因为它有一个插件,为丰富的图形提供支持。简而言之,RIA 中的数据处理在服务器端执行,而相关的对象处理在客户端执行。

我们有三种主要技术可以用来开发 RIA。这些技术包括以下内容: −

  1. Adobe Flash

  2. Microsoft Silverlight

  3. JavaFX

Adobe Flash

该软件平台由 Adobe Systems 开发,用于创建 Rich Internet Applications。此外,您还可以构建其他应用程序,例如 Vector、动画、浏览器游戏、桌面应用程序、移动应用程序和游戏等。

这是用于开发和执行 RIA 的最常用平台,桌面浏览器普及率为 96%。

Microsoft Silverlight

与 Adobe Flash 一样,Microsoft Silverlight 也是一种用于开发和执行 Rich Internet Applications 的软件应用程序框架。最初,此框架用于流媒体。当前版本也支持多媒体、图形和动画。

该平台应用较少,桌面浏览器渗透率为 66%。

JavaFX

JavaFX 是一个 Java 库,您可以使用它来开发 Rich Internet Applications。通过使用 Java 技术,这些应用程序的浏览器普及率为 76%。

What is JavaFX?

JavaFX 是一个用于构建 Rich Internet Applications 的 Java 库。使用此库编写的应用程序可以在多个平台上始终如一地运行。使用 JavaFX 开发的应用程序可以在各种设备上运行,例如台式机、移动电话、电视、平板电脑等。

要使用 Java 编程语言开发 GUI Applications ,程序员依赖于诸如 Advanced Windowing ToolkitSwing 的库。在 JavaFX 出现后,这些 Java 程序员现在可以用丰富的内容高效地开发 GUI 应用程序。

Need for JavaFX

要开发具有丰富功能的 Client Side Applications ,程序员过去依赖多种库来添加诸如媒体、用户界面控件、网络、2D 和 3D 等功能。JavaFX 在一个库中包含所有这些功能。除此之外,开发人员还可以访问 Java 库的现有功能,例如 Swing

JavaFX 提供了一组丰富的图形和媒体 API,并且通过硬件加速图形提高了现代 Graphical Processing Unit 的效率。JavaFX 还提供了可供开发人员组合图形动画和用户界面控件的界面。

人们可以使用基于 JVM 的技术(例如 Java、Groovy 和 JRuby)使用 JavaFX。如果开发人员选择 JavaFX,则无需学习其他技术,因为掌握上述任何技术都足以使用 JavaFX 开发 RIA。

Features of JavaFX

以下是 JavaFX 的一些重要功能:

  1. Written in Java − JavaFX 库用 Java 编写,并且适用于可以在 JVM 上执行的语言,其中包括 Java, Groovy and JRuby 。这些 JavaFX 应用程序还与平台无关。

  2. FXML − JavaFX 中有 FXML 这门语言,它是一种 HTML 声明式标记语言。此语言的唯一目的是定义用户界面。

  3. Scene Builder − JavaFX 提供了一个名为场景生成器的应用程序。通过在 IDE 处(如 Eclipse 和 NetBeans)集成此应用程序,用户可以使用拖放设计界面,该界面用于开发 FXML 应用程序(就像 Swing 拖放和 DreamWeaver 应用程序一样)。

  4. Swing Interoperability − 在 JavaFX 应用程序中,可以使用 Swing Node 类嵌入 Swing 内容。同样,您可以使用 JavaFX 功能(例如嵌入式 Web 内容和丰富图形媒体)更新现有的 Swing 应用程序。

  5. Built-in UI controls − JavaFX 库提供用户界面控件,我们可用其开发一款功能齐全的应用程序。

  6. CSS like Styling − JavaFX 提供 CSS 样式。使用此样式,您可以借助简单的 CSS 知识改进应用程序的设计。

  7. Canvas and Printing API − JavaFX 提供 Canvas,这是一种立即可用模式的渲染 API。在程序包 javafx.scene.canvas 中,它包含一组 Canvas 类,我们可以使用这组类直接在 JavaFX 场景的区域中进行绘图。JavaFX 还提供用于程序包 javafx.print 中打印用途的类。

  8. Rich set of API’s − JavaFX 库提供了一组丰富的 API,用于开发 GUI 应用程序、2D 和 3D 图形等。这组 API 还包括 Java 平台的功能。因此,使用此 API,您可以访问 Java 语言的功能,例如泛型、注释、多线程和 lambda 表达式。传统 Java 集合库得到了增强,其中包含了可观察列表和映射等概念。用户可以使用这些概念来观察数据模型中的变化。

  9. Integrated Graphics library − JavaFX 提供了 2d3d 图形的类。

  10. Graphics pipeline − JavaFX 支持基于称为 Prism 的硬件加速图形管道的图形。它与受支持的图形卡或 GPU 配合使用时,提供平滑的图形。如果系统不支持配卡,Prism 则会默认为软件渲染堆栈。

History of JavaFX

JavaFX 最初是由 Chris Oliver 开发的,他当时在 See Beyond Technology Corporation 公司工作。后来,该家公司在 2005 年被 Sun Microsystems 收购。

以下是有关此项目的更多信息:

  1. 最初,此项目被命名为 F3 (Form Follows Functions) ,并且是为开发 GUI 应用程序提供更丰富的界面而开发的。

  2. Sun Microsystems 在 2005 年 6 月收购了 See Beyond 公司,并将 F3 项目调整为 JavaFX

  3. 2007 年,在每年举办的万维网会议 Java One 上,JavaFX 正式发布。

  4. 2008 年, Net Beans 与 JavaFX 集成已开放。同一年,针对 JavaFX 1.0 发布了 Java Standard Development Kit

  5. 2009 年,Oracle Corporation 收购了 Sun Microsystems,同一年,JavaFX 的下一个版本(1.2)也发布了。

  6. 2010 年,JavaFX 1.3 发布,2011 年发布了 JavaFX 2.0。

  7. JavaFX8 版本在经过版本提升后于 2014 年 3 月 18 日作为 Java 的组成部分发布。

  8. JavaFX 9 的功能集中于将有用的私有 API 从 JavaFX 代码中提取出来,使这些 API 公开。

  9. Oracle 宣布他们将停止随 JDK 11 及更高版本一起发布 JavaFX。

  10. JavaFX 11 于 2018 年 9 月首次发布。

  11. JavaFX 12 于 2019 年 3 月首次发布,JavaFX 13 于 2019 年 9 月发布。

  12. JavaFX 14 于 2020 年 3 月发布,版本 15 于 2020 年 9 月发布。

  13. JavaFX 16 于 2021 年 3 月发布,版本 17 于 2021 年 9 月发布。

  14. JavaFX 18 于 2022 年 3 月发布,版本 19 于 2022 年 9 月发布。

  15. 最新版本 JavaFX 20 于 2023 年 3 月发布。