JavaFX 是一个用于 Java 的 GUI 开发的开源项目(GUI 是图形用户界面的缩写)。JavaFX 使 Java 创建桌面应用程序和游戏变得相当容易。JavaFX 之所以是一个很好的 GUI 应用程序平台,有如下几个优点:
特点 | 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内,但可能有一天会被删除。 |