我目前正在使用javafx为其UI开发应用程序。我正在使用java 9.当我从github撤出以继续在我的新计算机上进行开发并编译时,在javafx类的所有引用上都存在编译错误,并且只有javafx类。
我在jdk中搜索了外部资源,而javafx包确实在它应该的位置。我还使用相同的jdk创建了一个新项目,并打开了一个javafx窗口,工作正常。这告诉我这是一个特定于项目的问题,而不是系统问题。
有没有人对此有所了解?感谢。
答案 0 :(得分:3)
您的IDE可能已将项目设置为"模块化" Java 9项目。在模块化项目中,您可以指定项目所依赖的其他模块,以及模块中的哪些软件包应该公开给其他模块。关于模块的一般指导很好的是OpenJDK wiki。
如果类路径根目录中有module-info.java
文件,则需要明确声明您的模块需要访问相应的JavaFX模块。添加
requires javafx.controls ;
到此文件:这将允许您访问javafx.controls
module及其所依赖的模块(javafx.graphics
和javafx.base
)。根据您的项目,您可能还需要
requires javafx.fxml ;
和/或
requires javafx.web ;
等