关于jdk9 的模块化及以上启动javafx 不使用--add-modules方式,如何使用引导类启动及其原理简单分析及报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序 问题解决
在JDK 9及以上版本,如果你想要启动JavaFX而不使用--add-modules
参数,你需要创建一个引导类来加载JavaFX模块。以下是一个简单的JavaFX应用程序的引导类示例:
package your.package.name;
import javafx.application.Application;
import javafx.fxml.LoadException;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Bootstrap extends Application {
@Override
public void start(Stage primaryStage) {
StackPane root = new StackPane();
Scene scene = new Scene(root, 300, 275);
primaryStage.setTitle("JavaFX Bootstrap Example");
primaryStage.setScene(scene);
primaryStage.show();
}
@Override
public void stop() throws Exception {
// 可以在这里添加关闭资源的代码
}
public static void main(String[] args) {
launch(args);
}
}
确保你的module-info.java
(如果你使用了模块化)正确地声明了对JavaFX的依赖,例如:
module your.package.name {
requires javafx.graphics;
requires javafx.controls;
requires javafx.fxml;
// 其他依赖
// 导出和开放模块内部的包
exports your.package.name;
}
然后,你可以直接运行Bootstrap
类作为JavaFX应用程序的入口点,而不需要在命令行中指定--add-modules
参数。JavaFX会自动根据你的模块依赖进行加载。
请注意,如果你的项目没有使用模块化,那么你可能不需要module-info.java
文件,只需确保JavaFX的jar包在应用程序的类路径上即可。
评论已关闭