我试图在我的Eclipse(最新版本)上正确安装JavaFX(最新版本)。我认为问题与“应用程序”和“启动”方法有关。但是我不确定我的代码是否错误或JavaFX是否正确安装。
通常的Java程序都可以工作。我在工作区中安装了用户库“ JavaFX 11”,并且程序承认存在JavaFX11。我可以导入JavaFX-stuff,但是运行程序时程序会死。我复制了一个朋友的代码,并在他的电脑上工作。
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.stage.Stage;
public class test1 extends Application { public void start(Stage primaryStage) { Label lab = new Label("Hello World"); Scene scene = new Scene(lab, 300, 100); primaryStage.setScene(scene); primaryStage.setTitle("Hello World"); primaryStage.show(); }
public static void main(String[] args) { launch(args); } } 什么都没有发生,但是我有很多例外。这些是我得到的例外:
https://gyazo.com/c7112ac8dd23b39e4b536338e58f43ee
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据你描述的问题,看起来你的Eclipse已经配置了JavaFX库,但是程序运行时遇到异常。从你提供的异常截图来看,问题可能在于JavaFX的运行环境配置不正确,特别是与模块路径(module path)有关。
在Java 9及以后版本中,JavaFX被拆分成多个模块,因此需要通过模块系统来正确地引入和使用它们。确保你的项目是模块化的,并且在module-info.java
文件中声明了对JavaFX模块的依赖。如果你的项目还没有这个文件,你需要创建一个。
请按照以下步骤操作:
创建或修改 module-info.java
文件: 在你的项目的源代码根目录下,如果不存在module-info.java
文件,请创建一个。然后,在该文件中添加对JavaFX模块的依赖。对于一个基本的JavaFX应用,至少需要以下模块:
module YourModuleName {
requires javafx.controls;
requires javafx.fxml;
opens your.package.name to javafx.fxml;
exports your.package.name;
}
其中,将YourModuleName
替换为你的模块名,your.package.name
替换为你的主类所在的包名。
确认JDK版本: 确保你的Eclipse使用的是支持Java模块系统的JDK(至少是Java 9及以上版本),而不是JRE。可以在Eclipse的“首选项” -> “Java” -> “已安装的JRE”中检查并配置。
构建路径和运行配置:
--module-path
指定JavaFX库的位置以及--add-modules
指定要使用的模块。检查JavaFX库路径: 确认Eclipse中的JavaFX用户库指向的是正确的JavaFX SDK位置。如果你是从zip文件安装的JavaFX,确保Eclipse引用了解压后的lib
目录下的所有jar文件。
清理并重新编译: 清理项目(Project -> Clean...),然后尝试重新编译和运行。
如果以上步骤都正确执行但问题依旧,可能需要更详细地检查异常信息,或者考虑是否Eclipse本身或其插件有兼容性问题。有时候,使用专门针对JavaFX开发的IDE插件(如e(fx)clipse)能简化配置过程并减少错误。