java - 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 已安装并且似乎可以工作。)
有人有建议吗?
解决方案
不再捆绑
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(软件开发工具包)。或者您可以选择使用Maven或Gradle依赖管理工具来自动下载必要的模块。
JavaFX 技术的进一步开发已开源并从 Oracle 中分离出来。现在由Gluon领导。代码库作为OpenJDK项目上称为 OpenJFX的子项目存放。
推荐阅读
- javascript - 如何在 JavaScript 中解析一串键/值对,对以逗号分隔?
- python - com.chaquo.python.PyException:ValueError:无法使用此命令获取 Chrome 的版本:google-chrome --version
- ruby-on-rails - 如果我使用 \n 发送有效负载,为什么会收到 400 Bad Request?
- python - 查找用于连接的单词列表?
- react-native - 仅在用户停止与数字输入交互后才向服务器发送交互
- c++ - Visual Studio Code 输出被检测为恶意软件?
- javascript - 为什么在定义时出现“TypeError:无法读取未定义的属性'航空公司'”?
- r - 在 R 中确定响应时间
- html - HTML - CSS | 同时拥有一个固定的垂直菜单和一个固定的水平菜单
- c++ - 类没有在野牛中命名类型