【问题标题】:@FXML annotation and FXMLLoader class not resolved to a type in Java 11 and JavaFX 11@FXML 注释和 FXMLLoader 类未解析为 Java 11 和 JavaFX 11 中的类型
【发布时间】:2019-03-07 06:55:27
【问题描述】:

之前我的项目曾经在 Java 8 上,但现在我使用 Java 11 和 JavaFX 11,现在 JavaFX 从 Java 11 开始与 Java 分离。我没有下载 JavaFX SDK,但在 pom.xml 中添加了以下依赖项。 xml 用于获取所需的模块和 jar 文件,这些模块和 jar 文件在早期版本中是 Java 本身的一部分。

       <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>11</version>
        </dependency>

但我在 @FXML 注释和 FXMLLoader 类上遇到编译错误 can not be resolved to a type

我是否需要添加一些其他/额外的依赖项来解决此问题?

【问题讨论】:

标签: java javafx openjfx javafx-11


【解决方案1】:

FXML (@FXMLannotation, FXMLLoader...) 在 Java 9 版本中移至模块 javafx.fxml

在 JavaFX 11 之前,无论何时调用与 JavaFX 相关的东西,SDK 中都有所有可用的 javafx 模块。

但现在你必须包括你需要的:

<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-controls</artifactId>
    <version>11</version>
</dependency>
<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-fxml</artifactId>
    <version>11</version>
</dependency>

请注意,javafx.controls 依赖于 javafx.graphicsjava.base,因此您不需要包含它们。而javafx.fxml直接依赖于javafx.base

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 2020-02-06
    • 2023-03-09
    • 2019-03-03
    • 1970-01-01
    相关资源
    最近更新 更多