JavaFX 阶段显示为空白

标签 java javafx fxml

我正在尝试构建一个简单的 JavaFX应用程序使用 fxml启动方法如下所示:

public void start(Stage primaryStage) {
    try {
        Parent root = FXMLLoader.load(getClass().getClassLoader().getResource("FenetreCaisse.fxml"));
        Scene scene = root.getScene();
        scene.getStylesheets().add(getClass().getClassLoader().getResource("/application.css").toExternalForm());
        primaryStage.setScene(scene);
        primaryStage.show();
    } catch(Exception e) {
        e.printStackTrace();
    }
}

当我尝试运行它时,我得到一个 <code>NullPointerException</code>scene.getStylesheets()...线

我尝试注释该行,因为“application.css”文件中没有任何代码,但是当我运行代码时,我得到的只是一个白色的空白窗口。

最佳答案

root.getScene()

返回包含root的当前场景,如果尚未添加到场景中,则为null。因此,您将舞台场景设置为空。

使用

Scene scene = new Scene(root);

如果您没有样式表,显然请删除设置样式表的行。

关于JavaFX 阶段显示为空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48155563/

相关文章:

java - 通过 maven 的 OpenJDK 11 + OpenJFX 11 无法在 Eclipse 2018-09 + Java 11 补丁中运行

JavaFX 主 fxml 未加载 fxml

java - Spring框架页面方向

java - 对 Java 泛型的误解

java - 如何编辑 JFXSpinner 内部文本

java - FloatField(javafx中 float 的TextField)?

java - 通过 css 类名 javafx 添加事件

JavaFX 8 : Populating a TableView in initialize method

java - Spring Boot 3.0/Security 6.0 迁移 - SecurityFilterChain 中的 "EL1057E: No bean resolver registered in the context to resolve access to bean..."

java - this 和 super 的辅助功能规则