首页 > 解决方案 > Intellij IDEA 2019.2.4 似乎无法识别 JDK 12 中的 javafx 包

问题描述

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

在上面的代码中,所有javafx的都是红色的,就像Application. 以下是 javafx 示例程序 (Hello World) 发生的 13 个错误中的前两个。(其余类似。

Error:(3, 26) java: package javafx.application does not exist
Error:(4, 19) java: package javafx.fxml does not exist

显然修复其中任何一个都可能会修复所有问题。)在我尝试运行它之前,一切似乎都很好。

我正在使用 SDK 12 在 IntelliJ 2019.2.4 中工作。(Scenebuilder 已安装并且似乎可以工作。)

有人有建议吗?

标签: javaintellij-ideajavafx

解决方案


不再捆绑

JavaFX不再与 Oracle JDK 11 及更高版本捆绑在一起。

JavaFX 从来都不是 Java 的官方部分,因为它既没有在Java 规范中定义,也没有在JSR中定义。但是,Oracle 认为 JavaFX 是 Swing 的继任者,而 Swing 现在处于维护模式

仅供参考,过去,Oracle 是唯一捆绑 JavaFX 的供应商。如果您从其他十几个供应商中的任何一个获得 Java 实现,您就会将 JavaFX 模块添加到您的项目中。作为该规则的例外,现在有两家供应商提供了捆绑了 OpenJFX 库的 Java 实现版本: BellSoft 的LibericaFX和 Azul Systems 的ZuluFX

可供下载

您可以选择下载 JavaFX SDK(软件开发工具包)。或者您可以选择使用MavenGradle依赖管理工具来自动下载必要的模块。

为OpenJFX项目站点添加书签。请参阅入门页面。

JavaFX 技术的进一步开发已开源并从 Oracle 中分离出来。现在由Gluon领导。代码库作为OpenJDK项目上称为 OpenJFX的子项目存放。


指导您为 Java 11 实施选择供应商的流程图


选择 Java 供应商的动机


推荐阅读