我最近开始学习javafx,但现在我知道它从Java 11之后从核心JDK中删除了。我似乎找不到编译javafx应用程序的方法。导入声明不起作用(我正在使用 MVC 设计模式(。有没有办法解决这个问题? 我正在使用 VS 代码
从Java 9开始,JavaFX被移出了JDK,这样JavaFX的更新就不必等待下一个JDK版本(至少我记得是这样(。 当 Ubuntu 从 JDK 8 切换到 JDK 11 时,他们添加了一个新的包"openjfx"来提供 JavaFX 库。
因此,您有几个选项可以使用JavaFX。
安装 OpenJFX
sudo apt install openjfx libopenjfx-java
设置分级构建
如果您使用 gradle 进行构建,则可以将其设置为下载所需的任何 JavaFX 版本。 按照 openjfx 中的说明设置基本的 gradle 配置。 链接的页面有一个示例文件,您可以从中开始。
您可能还需要考虑使用 Intellij Idea Community 版 IDE 而不是 VS Code。我认为VS Code非常出色,并且已经使用了几年,包括JavaFX开发。 我最近切换到Intellij,它为Java开发提供的功能比VS Code高出一步。 此外,它还以快照形式提供,因此易于安装:
snap install intellij-idea-community --classic
所以,关于环境变量。我猜你在Linux上,所以你有两种设置方法:
A( 为当前会话设置它;
B( 全局设置。
选项 A:打开终端并执行export PATH_TO_FX=[absolute path to Javafx folder]/lib
。这将仅为当前会话的当前用户创建一个变量 - 每次启动操作系统时都必须执行它。
选项 B:找到文件/etc/profile
;然后备份它;然后打开它进行编辑并将export PATH_TO_FX="[absolute path to Javafx folder]/lib"
行添加到其末尾。保存文件并重新启动系统。这样,变量将永久保留给所有用户。
最后,通过启动应用程序jar -java -jar --module-path $PATH_TO_FX --add-modules javafx.controls,javafx.fxml your.jar
来测试Javafx的存在(或启动主类,如文档中所示(。