java - 如何在 Java 11 中将 JavaFX 运行时添加到 Eclipse?

标签 java java-11 javafx-11

我收到以下错误,因为 Java 11 将 JavaFX 排除在最新版本中。

Error: JavaFX runtime components are missing, and are required to run
this application

那么如何在 Java 11 中将 JavaFX 添加到 Eclipse 中? 谢谢。

最佳答案

按照 getting started guide ,这些是从 Eclipse 运行 JavaFX 11 所需的步骤。

  1. here 安装 Eclipse 2018-09 .

  2. here 安装 JDK 11 .

  3. 将 Java 11 作为已安装的 JRE 添加到 Eclipse:Eclipse -> Window -> Preferences -> Java -> Installed JREs -> Add.

  4. here 下载 JavaFX 11 ea .

  5. 创建用户库:Eclipse -> 窗口 -> 首选项 -> Java -> 构建路径 -> 用户库 -> 新建。将其命名为 JavaFX11 并在 JavaFX 11-ea 的 lib 文件夹下包含这些 jar。

  6. 创建一个 Java 项目。您不需要添加模块路径类。确保选择 Java 11 并将 JavaFX11 库添加到项目的模块路径中。

  7. 添加一个包javafx11和主应用类HelloFX:

    package javafx11;
    
    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) {
            String version = System.getProperty("java.version");
            Label l = new Label ("Hello, JavaFX 11, running on "+version);
            Scene scene = new Scene (new StackPane(l), 300, 200);
            stage.setScene(scene);
            stage.show();
        }
    
        public static void main(String[] args) {
            launch();
        }
    
    }

请注意,编辑器不应提示 JavaFX 类,因为我们已经包含了用户库。

  1. 添加运行时参数。编辑项目的运行配置,并添加这些 VM 参数:

    --module-path C:\Users\Downloads\javafx-sdk-11\lib --add-modules=javafx.controls

  2. 最后,运行项目。它应该可以正常工作。

关于java - 如何在 Java 11 中将 JavaFX 运行时添加到 Eclipse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52144931/

相关文章:

java - SPRING MVC + Hibernate,无法获取所有记录

java - 将 JavaFX 与 Intellij IDEA 结合使用

VSCode 中的 JavaFX-11 : Error: Could not find or load main class Files\Java\javafx-sdk-11. 0.2\lib

java - @FXML 注释和 FXMLLoader 类未解析为 Java 11 和 JavaFX 11 中的类型

使用 Maven 的 JavaFX 11 抛出异常 : "WindowsNativeRunloopThread"

java - 检查二维数组是否锯齿状

java.lang.IllegalArgumentException : Parse error: Unable to parse Date format 异常

java - 使用synchronized方法和 block 解决Java线程中的计数器问题

Java 11 SSLHandshakeException 与 TLS 1.3 : How do I revert to TLS 1. 2?

java - 从 Java 8 更新到 OpenJdk 11.0.2 时,intellij maven 中出现错误 'zip END header not found'