Javafx 简明教程
JavaFX - Overview
Rich Internet Applications 是那些提供类似桌面应用程序功能和体验的网络应用程序。与普通网络应用程序相比,它们为用户提供更好的视觉体验。这些应用程序作为浏览器插件或虚拟机提供,用于将传统的静态应用程序转换为增强、流畅、动画化且引人入胜的应用程序。
不同于传统的桌面应用程序,RIA 无需任何附加软件即可运行。作为替代,您应该根据应用程序安装 ActiveX、Java、Flash 等软件。
在 RIA 中,图形呈现由客户端处理,因为它有一个插件,为丰富的图形提供支持。简而言之,RIA 中的数据处理在服务器端执行,而相关的对象处理在客户端执行。
我们有三种主要技术可以用来开发 RIA。这些技术包括以下内容: −
-
Adobe Flash
-
Microsoft Silverlight
-
JavaFX
Adobe Flash
该软件平台由 Adobe Systems 开发,用于创建 Rich Internet Applications。此外,您还可以构建其他应用程序,例如 Vector、动画、浏览器游戏、桌面应用程序、移动应用程序和游戏等。
这是用于开发和执行 RIA 的最常用平台,桌面浏览器普及率为 96%。
Microsoft Silverlight
与 Adobe Flash 一样,Microsoft Silverlight 也是一种用于开发和执行 Rich Internet Applications 的软件应用程序框架。最初,此框架用于流媒体。当前版本也支持多媒体、图形和动画。
该平台应用较少,桌面浏览器渗透率为 66%。
What is JavaFX?
JavaFX 是一个用于构建 Rich Internet Applications 的 Java 库。使用此库编写的应用程序可以在多个平台上始终如一地运行。使用 JavaFX 开发的应用程序可以在各种设备上运行,例如台式机、移动电话、电视、平板电脑等。
要使用 Java 编程语言开发 GUI Applications ,程序员依赖于诸如 Advanced Windowing Toolkit 和 Swing 的库。在 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 的一些重要功能:
-
Written in Java − JavaFX 库用 Java 编写,并且适用于可以在 JVM 上执行的语言,其中包括 Java, Groovy and JRuby 。这些 JavaFX 应用程序还与平台无关。
-
FXML − JavaFX 中有 FXML 这门语言,它是一种 HTML 声明式标记语言。此语言的唯一目的是定义用户界面。
-
Scene Builder − JavaFX 提供了一个名为场景生成器的应用程序。通过在 IDE 处(如 Eclipse 和 NetBeans)集成此应用程序,用户可以使用拖放设计界面,该界面用于开发 FXML 应用程序(就像 Swing 拖放和 DreamWeaver 应用程序一样)。
-
Swing Interoperability − 在 JavaFX 应用程序中,可以使用 Swing Node 类嵌入 Swing 内容。同样,您可以使用 JavaFX 功能(例如嵌入式 Web 内容和丰富图形媒体)更新现有的 Swing 应用程序。
-
Built-in UI controls − JavaFX 库提供用户界面控件,我们可用其开发一款功能齐全的应用程序。
-
CSS like Styling − JavaFX 提供 CSS 样式。使用此样式,您可以借助简单的 CSS 知识改进应用程序的设计。
-
Canvas and Printing API − JavaFX 提供 Canvas,这是一种立即可用模式的渲染 API。在程序包 javafx.scene.canvas 中,它包含一组 Canvas 类,我们可以使用这组类直接在 JavaFX 场景的区域中进行绘图。JavaFX 还提供用于程序包 javafx.print 中打印用途的类。
-
Rich set of API’s − JavaFX 库提供了一组丰富的 API,用于开发 GUI 应用程序、2D 和 3D 图形等。这组 API 还包括 Java 平台的功能。因此,使用此 API,您可以访问 Java 语言的功能,例如泛型、注释、多线程和 lambda 表达式。传统 Java 集合库得到了增强,其中包含了可观察列表和映射等概念。用户可以使用这些概念来观察数据模型中的变化。
-
Integrated Graphics library − JavaFX 提供了 2d 和 3d 图形的类。
-
Graphics pipeline − JavaFX 支持基于称为 Prism 的硬件加速图形管道的图形。它与受支持的图形卡或 GPU 配合使用时,提供平滑的图形。如果系统不支持配卡,Prism 则会默认为软件渲染堆栈。
History of JavaFX
JavaFX 最初是由 Chris Oliver 开发的,他当时在 See Beyond Technology Corporation 公司工作。后来,该家公司在 2005 年被 Sun Microsystems 收购。
以下是有关此项目的更多信息:
-
最初,此项目被命名为 F3 (Form Follows Functions) ,并且是为开发 GUI 应用程序提供更丰富的界面而开发的。
-
Sun Microsystems 在 2005 年 6 月收购了 See Beyond 公司,并将 F3 项目调整为 JavaFX 。
-
2007 年,在每年举办的万维网会议 Java One 上,JavaFX 正式发布。
-
2008 年, Net Beans 与 JavaFX 集成已开放。同一年,针对 JavaFX 1.0 发布了 Java Standard Development Kit 。
-
2009 年,Oracle Corporation 收购了 Sun Microsystems,同一年,JavaFX 的下一个版本(1.2)也发布了。
-
2010 年,JavaFX 1.3 发布,2011 年发布了 JavaFX 2.0。
-
JavaFX8 版本在经过版本提升后于 2014 年 3 月 18 日作为 Java 的组成部分发布。
-
JavaFX 9 的功能集中于将有用的私有 API 从 JavaFX 代码中提取出来,使这些 API 公开。
-
Oracle 宣布他们将停止随 JDK 11 及更高版本一起发布 JavaFX。
-
JavaFX 11 于 2018 年 9 月首次发布。
-
JavaFX 12 于 2019 年 3 月首次发布,JavaFX 13 于 2019 年 9 月发布。
-
JavaFX 14 于 2020 年 3 月发布,版本 15 于 2020 年 9 月发布。
-
JavaFX 16 于 2021 年 3 月发布,版本 17 于 2021 年 9 月发布。
-
JavaFX 18 于 2022 年 3 月发布,版本 19 于 2022 年 9 月发布。
-
最新版本 JavaFX 20 于 2023 年 3 月发布。