JavaFX 17 在 Windows 和 IntelliJ IDEA 中的完整教程

这个教程基于您的环境(JDK 17.0.15, JavaFX 17.0.15, Windows 系统, IntelliJ IDEA 2025.2.5),从下载到运行示例应用,一步步指导。假设您是初学者,我会详细解释每个步骤。如果您有特定问题(如 macOS/Linux),可以补充。

步骤 1: 下载和安装 JDK 17

JavaFX 需要 JDK 11+,我们用 17 版本。

  1. 下载 JDK 17.0.15:
  2. 运行安装器:
    • 安装到 D:\Program Files\Java\jdk-17(您的路径)。
    • 安装后,验证:在 CMD 输入 java -version,应显示 “17.0.15”。

步骤 2: 下载和解压 JavaFX SDK 17

JavaFX 不包含在 JDK 中,需要单独下载。

  1. 下载 JavaFX SDK 17.0.15:
  2. 解压:
    • 解压到 D:\Program Files\openjfx-17.0.15_windows-x64_bin-sdk\javafx-sdk-17.0.15(您的路径)。
    • 确认 lib 目录下有 JAR 文件如 javafx.controls.jar

步骤 3: 配置环境变量

在 Windows 配置,便于命令行和 IDEA 使用。

  1. 打开系统属性:Win + R → sysdm.cpl → 高级 → 环境变量。
  2. 系统变量(下半部分):
    • 新建 JAVA_HOME:值 D:\Program Files\Java\jdk-17
    • 新建 JAVAFX_HOME:值 D:\Program Files\openjfx-17.0.15_windows-x64_bin-sdk\javafx-sdk-17.0.15
    • 编辑 Path:添加 %JAVA_HOME%\bin
  3. 验证:在新 CMD 中:
    • echo %JAVA_HOME% → 显示 JDK 路径。
    • echo %JAVAFX_HOME% → 显示 JavaFX 路径。
    • java -version → 显示 17.0.15。

步骤 4: 在命令行测试 JavaFX

创建一个简单应用验证配置。

  1. 创建 HelloFX.java(用记事本):

    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Label;
    import javafx.scene.layout.StackPane;
    import javafx.stage.Stage;
    
    public class HelloFX extends Application {
        @Override
        public void start(Stage stage) {
            Label label = new Label("Hello JavaFX!");
            StackPane root = new StackPane(label);
            Scene scene = new Scene(root, 300, 200);
            stage.setScene(scene);
            stage.setTitle("Test");
            stage.show();
        }
    
        public static void main(String[] args) {
            launch(args);
        }
    }
    
    • 保存到任意目录,如 C:\Users\TonLin\Downloads
  2. 编译和运行(在文件目录下 CMD):

    javac --module-path "%JAVAFX_HOME%\lib" --add-modules javafx.controls HelloFX.java
    java --module-path "%JAVAFX_HOME%\lib" --add-modules javafx.controls --class-path . HelloFX
    
    • 成功:弹出窗口显示 “Hello JavaFX!”。
    • 错误排查:如果 ClassNotFound,添加 --class-path .;路径错,用绝对路径替换 %JAVAFX_HOME%

步骤 5: 在 IntelliJ IDEA 配置和运行

  1. 打开/创建项目:

    • File > New > Project > Java > Next。
    • Project SDK:添加 JDK 17(浏览到 D:\Program Files\Java\jdk-17)。
    • 命名项目如 “untitled”。
  2. 配置 JavaFX 库:

    • File > Project Structure (Ctrl + Alt + Shift + S)。
    • Project:SDK 为 JDK 17,Language Level 为 17。
    • Libraries:+ > Java > 浏览到 D:\Program Files\openjfx-17.0.15_windows-x64_bin-sdk\javafx-sdk-17.0.15\lib,添加所有 JAR,命名 “javafx-sdk-17”。
    • Modules > Dependencies:添加 “javafx-sdk-17” 到 Modulepath(非 Classpath)。
  3. 添加示例代码:

    • src 下右键 New > Java Class > HelloFX
    • 粘贴步骤 4 的代码(无包声明,如果非模块化)。
  4. 配置运行:

    • Run > Edit Configurations > + > Application。
    • Name: HelloFX。
    • Main class: HelloFX。
    • VM options:
      --module-path "D:\Program Files\openjfx-17.0.15_windows-x64_bin-sdk\javafx-sdk-17.0.15\lib" --add-modules javafx.controls
      
    • OK,然后运行(绿色按钮)。
  5. 模块化选项(可选,推荐高级用户):

    • src 下添加 module-info.java
      module untitled {
          requires javafx.controls;
      }
      
    • 为 HelloFX 添加包:文件顶部 package com.example;
    • Main class 改为 com.example.HelloFX
    • 运行时添加 exports com.example; 到 module-info。

常见问题与排查

问题 原因 解决
“缺少 JavaFX 运行时组件” 未用 --module-path 添加 VM options 或检查库在 Modulepath。
ClassNotFoundException 无 --class-path . (CMD) 或包错 添加 . 或确认包结构。
InvalidModuleDescriptor 顶层类文件 Build > Clean & Rebuild;删除 out 目录。
路径错误 环境变量错 用 echo 检查;用绝对路径测试。
窗口不弹出 图形驱动问题 更新 Windows/显卡驱动;关闭杀毒。

高级扩展

  • Scene Builder:下载 https://gluonhq.com/products/scene-builder/,设计 FXML UI,在 IDEA 集成(Preferences > Languages > JavaFX)。
  • 添加控件:如 Button,import javafx.scene.control.Button,添加到 StackPane。
  • 构建可执行:用 Maven/Gradle + javafx-maven-plugin 打包 JAR。

教程结束!如果运行示例成功,您可以开始开发更复杂的应用。如果报错,贴日志我帮调试。享受 JavaFX 吧!

写文章用