- JavaFX 教程
- JavaFX - 首页
- JavaFX - 概述
- JavaFX 安装和架构
- JavaFX - 环境
- JavaFX - 使用 Netbeans 安装
- JavaFX - 使用 Eclipse 安装
- JavaFX - 使用 Visual Studio Code 安装
- JavaFX - 架构
- JavaFX - 应用程序
- JavaFX 2D 形状
- JavaFX - 2D 形状
- JavaFX - 绘制直线
- JavaFX - 绘制矩形
- JavaFX - 绘制圆角矩形
- JavaFX - 绘制圆形
- JavaFX - 绘制椭圆
- JavaFX - 绘制多边形
- JavaFX - 绘制折线
- JavaFX - 绘制三次贝塞尔曲线
- JavaFX - 绘制二次贝塞尔曲线
- JavaFX - 绘制弧形
- JavaFX - 绘制 SVGPath
- JavaFX 2D 对象的属性
- JavaFX - 描边类型属性
- JavaFX - 描边宽度属性
- JavaFX - 描边填充属性
- JavaFX - 描边属性
- JavaFX - 描边连接属性
- JavaFX - 描边斜接限制属性
- JavaFX - 描边端点属性
- JavaFX - 平滑属性
- JavaFX 路径对象
- JavaFX - 路径对象
- JavaFX - LineTo 路径对象
- JavaFX - HLineTo 路径对象
- JavaFX - VLineTo 路径对象
- JavaFX - QuadCurveTo 路径对象
- JavaFX - CubicCurveTo 路径对象
- JavaFX - ArcTo 路径对象
- JavaFX 颜色和纹理
- JavaFX - 颜色
- JavaFX - 线性渐变图案
- JavaFX - 径向渐变图案
- JavaFX 文本
- JavaFX - 文本
- JavaFX 效果
- JavaFX - 效果
- JavaFX - 颜色调整效果
- JavaFX - 颜色输入效果
- JavaFX - 图像输入效果
- JavaFX - 混合效果
- JavaFX - 辉光效果
- JavaFX - 泛光效果
- JavaFX - 方框模糊效果
- JavaFX - 高斯模糊效果
- JavaFX - 运动模糊效果
- JavaFX - 反射效果
- JavaFX - 褐色调效果
- JavaFX - 阴影效果
- JavaFX - 投影效果
- JavaFX - 内阴影效果
- JavaFX - 照明效果
- JavaFX - Light.Distant 效果
- JavaFX - Light.Spot 效果
- JavaFX - Point.Spot 效果
- JavaFX - 位移映射
- JavaFX - 透视变换
- JavaFX 动画
- JavaFX - 动画
- JavaFX - 旋转转换
- JavaFX - 缩放转换
- JavaFX - 平移转换
- JavaFX - 淡入淡出转换
- JavaFX - 填充转换
- JavaFX - 描边转换
- JavaFX - 顺序转换
- JavaFX - 并行转换
- JavaFX - 暂停转换
- JavaFX - 路径转换
- JavaFX 图像
- JavaFX - 图像
- JavaFX 3D 形状
- JavaFX - 3D 形状
- JavaFX - 创建立方体
- JavaFX - 创建圆柱体
- JavaFX - 创建球体
- 3D 对象的属性
- JavaFX - 剔除面属性
- JavaFX - 绘制模式属性
- JavaFX - 材质属性
- JavaFX 事件处理
- JavaFX - 事件处理
- JavaFX - 使用便捷方法
- JavaFX - 事件过滤器
- JavaFX - 事件处理程序
- JavaFX UI 控件
- JavaFX - UI 控件
- JavaFX - ListView
- JavaFX - Accordion
- JavaFX - ButtonBar
- JavaFX - ChoiceBox
- JavaFX - HTMLEditor
- JavaFX - MenuBar
- JavaFX - Pagination
- JavaFX - ProgressIndicator
- JavaFX - ScrollPane
- JavaFX - Separator
- JavaFX - Slider
- JavaFX - Spinner
- JavaFX - SplitPane
- JavaFX - TableView
- JavaFX - TabPane
- JavaFX - ToolBar
- JavaFX - TreeView
- JavaFX - Label
- JavaFX - CheckBox
- JavaFX - RadioButton
- JavaFX - TextField
- JavaFX - PasswordField
- JavaFX - FileChooser
- JavaFX - Hyperlink
- JavaFX - Tooltip
- JavaFX - Alert
- JavaFX - DatePicker
- JavaFX - TextArea
- JavaFX 图表
- JavaFX - 图表
- JavaFX - 创建饼图
- JavaFX - 创建折线图
- JavaFX - 创建面积图
- JavaFX - 创建柱状图
- JavaFX - 创建气泡图
- JavaFX - 创建散点图
- JavaFX - 创建堆叠面积图
- JavaFX - 创建堆叠柱状图
- JavaFX 布局面板
- JavaFX - 布局面板
- JavaFX - HBox 布局
- JavaFX - VBox 布局
- JavaFX - BorderPane 布局
- JavaFX - StackPane 布局
- JavaFX - TextFlow 布局
- JavaFX - AnchorPane 布局
- JavaFX - TilePane 布局
- JavaFX - GridPane 布局
- JavaFX - FlowPane 布局
- JavaFX CSS
- JavaFX - CSS
- JavaFX 中的媒体
- JavaFX - 处理媒体
- JavaFX - 播放视频
- JavaFX 有用资源
- JavaFX - 快速指南
- JavaFX - 有用资源
- JavaFX - 讨论
JavaFX - 概述
富互联网应用程序是指那些提供与桌面应用程序类似功能和体验的 Web 应用程序。与普通的 Web 应用程序相比,它们为用户提供了更好的视觉体验。这些应用程序以浏览器插件或虚拟机的形式交付,用于将传统的静态应用程序转换为更加增强、流畅、动画化和引人入胜的应用程序。
与传统的桌面应用程序不同,RIA 不需要任何额外的软件即可运行。作为替代方案,您应该根据应用程序安装 ActiveX、Java、Flash 等软件。
在 RIA 中,图形显示在客户端处理,因为它有一个插件可以提供对丰富图形的支持。简而言之,RIA 中的数据操作在服务器端进行,而相关对象的操作在客户端进行。
我们有三种主要技术可用于开发 RIA。这些包括以下内容 -
- Adobe Flash
- Microsoft Silverlight
- JavaFX
Adobe Flash
此软件平台由 Adobe Systems 开发,用于创建富互联网应用程序。除此之外,您还可以构建其他应用程序,例如矢量、动画、浏览器游戏、桌面应用程序、移动应用程序和游戏等。
这是最常用于开发和执行 RIA 的平台,其桌面浏览器普及率为 96%。
Microsoft Silverlight
就像 Adobe Flash 一样,Microsoft Silverlight 也是一个用于开发和执行富互联网应用程序的软件应用程序框架。最初,此框架用于流媒体。当前版本也支持多媒体、图形和动画。
此平台很少使用,桌面浏览器普及率为 66%。
JavaFX
JavaFX 是一个 Java 库,您可以使用它来开发富互联网应用程序。通过使用 Java 技术,这些应用程序的浏览器普及率为 76%。
什么是 JavaFX?
JavaFX 是一个用于构建富互联网应用程序的 Java 库。使用此库编写的应用程序可以在多个平台上始终如一地运行。使用 JavaFX 开发的应用程序可以在各种设备上运行,例如台式计算机、手机、电视、平板电脑等。
要使用 Java 编程语言开发GUI 应用程序,程序员依赖于高级窗口工具包和Swing等库。在 JavaFX 出现后,这些 Java 程序员现在可以使用丰富的功能更有效地开发 GUI 应用程序。
JavaFX 的需求
为了开发具有丰富功能的客户端应用程序,程序员过去常常依赖各种库来添加媒体、UI 控件、Web、2D 和 3D 等功能。JavaFX 将所有这些功能包含在一个库中。除了这些之外,开发人员还可以访问 Java 库(如Swing)的现有功能。
JavaFX 提供了一套丰富的图形和媒体 API,并通过硬件加速图形利用了现代图形处理单元。JavaFX 还提供接口,开发人员可以使用这些接口来组合图形动画和 UI 控件。
可以将 JavaFX 与基于 JVM 的技术(如 Java、Groovy 和 JRuby)一起使用。如果开发人员选择 JavaFX,则无需学习其他技术,因为之前了解上述任何技术都足以使用 JavaFX 开发 RIA。
JavaFX 的特性
以下是 JavaFX 的一些重要特性 -
用 Java 编写 - JavaFX 库是用 Java 编写的,并且可用于可以在 JVM 上执行的语言,包括 - Java、Groovy 和 JRuby。这些 JavaFX 应用程序也是平台无关的。
FXML - JavaFX 具有一个名为 FXML 的语言,它是一种类似 HTML 的声明性标记语言。此语言的唯一目的是定义用户界面。
场景构建器 - JavaFX 提供了一个名为 Scene Builder 的应用程序。通过将此应用程序集成到 Eclipse 和 NetBeans 等 IDE 中,用户可以访问一个拖放设计界面,该界面用于开发 FXML 应用程序(就像 Swing 拖放和 DreamWeaver 应用程序一样)。
Swing 互操作性 - 在 JavaFX 应用程序中,您可以使用Swing Node类嵌入 Swing 内容。同样,您可以使用 JavaFX 功能(如嵌入式 Web 内容和丰富的图形媒体)更新现有的 Swing 应用程序。
内置 UI 控件 - JavaFX 库提供了 UI 控件,我们可以使用它们来开发一个功能齐全的应用程序。
类似 CSS 的样式 - JavaFX 提供了类似 CSS 的样式。通过使用它,您可以通过简单的 CSS 知识来改进应用程序的设计。
画布和打印 API − JavaFX 提供了 Canvas,这是一种立即模式的渲染 API。在包javafx.scene.canvas中,它包含一组用于画布的类,使用这些类,我们可以在 JavaFX 场景的区域内直接绘制。JavaFX 还为包javafx.print中的打印目的提供了类。
丰富的 API 集 − JavaFX 库提供了丰富的 API 集来开发 GUI 应用程序、2D 和 3D 图形等。这组 API 还包括 Java 平台的功能。因此,使用此 API,您可以访问 Java 语言的功能,例如泛型、注释、多线程和 Lambda 表达式。传统的 Java 集合库得到了增强,并且其中包含了可观察列表和映射等概念。使用这些,用户可以观察数据模型中的变化。
集成的图形库 − JavaFX 提供了用于2d 和3d 图形的类。
图形管道 − JavaFX 支持基于称为 Prism 的硬件加速图形管道的图形。当与支持的图形卡或 GPU 一起使用时,它提供流畅的图形。如果系统不支持图形卡,则 Prism 默认使用软件渲染堆栈。
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 年,JavaFX 在Java One上正式发布,Java One 是一个每年举行的全球性网络会议。
2008 年,集成了 JavaFX 的Net Beans可用。同年,发布了 JavaFX 1.0 的 Java标准开发工具包。
2009 年,Oracle Corporation 收购了 Sun Microsystems,并在同年发布了 JavaFX 的下一个版本 (1.2)。
2010 年,JavaFX 1.3 发布,2011 年发布了 JavaFX 2.0。
JavaFX8 版本在版本更新后,于 2014 年 3 月 18 日作为 Java 的组成部分发布。
JavaFX 9 的功能集中在从 JavaFX 代码中提取有用的私有 API,以使这些 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 月发布。