概述
同步视频:JavaFX 桌面软件 PC 软件开发 基础入门_哔哩哔哩_bilibili
参考:
JavaFX 概述
JavaFX是一个开源的客户端应用程序平台。它提供了一个现代化、高效和功能齐全的工具包,适用于基于Java的桌面、移动和嵌入式系统。JavaFX 的目的是在 Java 应用程序中取代 swing 作为图形用户界面框架。不过,它比 swing 提供了更多的功能。与 Swing 一样,JavaFX 也提供了自己的组件,不依赖于操作系统。它具有轻量级和硬件加速的特点。它支持各种操作系统,包括 Windows、Linux 和 Mac OS。
2007 年,Sun Micro-systems 在 W3 大会上正式发布了 JavaFX。2008 年 10 月,JavaFX 1.0 发布。2009 年,ORACLE 公司收购了 Sun Micro-Systems,并发布了 JavaFX 1.2。JavaFX 的最新版本是 2014 年 3 月 18 日发布的 JavaFX 1.8。
JDK11 及以前,JDK 自带 JavaFX,JDK11 开始,JavaFX 交由开源社区管理,JDK不再提供JavaFX相关包。
HelloWorld
新建 JavaFX 项目:使用 IDEA 新建 JavaFX 项目/模块。
在 Java 8 之后,JavaFX 从 JDK 中分离出来,然后在 Java 9 时,Java 引入了 Java 模块系统。从那之后,JavaFX 要求使用 Java 模块系统来运行 JavaFX。因此,Java 8 的时候,是没有 Java 模块系统的,而且此时 JavaFX 尚未从 JDK 中分离出来(没有分离出来意味着运行 JavaFX 项目不需要添加 JavaFX 依赖),所以很多老的 JavaFX 项目使用的是 Java 8。因此,当直接使用 Java 8 以上的环境运行没有使用 Java 模块 JavaFX 老项目时就会报错:"缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序"。
运行 HelloWorld
public class HelloApplication extends Application { @Override public void start(Stage stage) throws IOException { FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("hello-view.fxml")); Scene scene = new Scene(fxmlLoader.load(), 320, 240); stage.setTitle("Hello!"); stage.setScene(scene); stage.show(); } public static void main(String[] args) { HelloApplication.launch(args); // Application.launch(args); // 多态 } }
