一、JavaFX介绍

JavaFX 是一个用于 Java 的 GUI 开发的开源项目(GUI 是图形用户界面的缩写)。JavaFX 使 Java 创建桌面应用程序和游戏变得相当容易。JavaFX 之所以是一个很好的 GUI 应用程序平台,有如下几个优点:

  1. Java 仍然是世界上最流行的编程语言之一,拥有大量的标准类,以及由 Java 开发者社区开发的丰富的开源工具包。
  2. JavaFX 是一个跨平台的项目,它可以运行在Windows, Liunx,Mac, Ios, Android, Chromebook, Raspberry Pi等各种操作系统和设备。
  3. JavaFX 提供了一套丰富的 GUI 组件,比如按钮、文本字段、菜单、图表等等,还可以通过CSS语法或者使用 java 代码设置样式,以及 2D 和 3D图形的支持。

JavaFX与Swing

特点 JavaFX Swing
属性绑定 JavaFX 属性支持绑定,这意味着您可以监听其值的更改 Swing 属性不直接支持绑定。
声明式布局 JavaFX 通过 FXML 支持声明式布局。 Swing 没有对声明式布局的内置支持。
样式 支持基于 CSS 和代码来设置样式。 只支持使用代码设置样式。
WebView 有一个可以渲染现代网页的 WebView。 不支持WebView
2D图形 使用基于矢量的图形 使用基于像素的图形。
3D图形 JavaFX 内置了对3d 图形的支持 需要 Java 3d API 来实现 3d 图形
并发 JavaFX 有一个内置的并发 API。 Swing 没有内置的并发 API。
JDK内置 JDK8、9、10将其内置到了JDK中,在JDK11以及目前最新版本中将其独立出来形成一个独立的开源项目 Swing 仍然包含在JDK内,但可能有一天会被删除。