我正在尝试构建一个简单的 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/