有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么我的代码抛出“ImageStorageException:没有图像数据加载程序”

我已经开始了一个关于Java的课程,我们已经开始学习JavaFX。我无法显示图像。经过一点调试,我能够将其缩小到以下异常:

com.sun.javafx.iio.ImageStorageException: No loader for image data

我知道路径名是正确的,因为这是我能够修复的第一个错误/异常。当前GUI显示为空白,好像我没有在场景中放置任何内容。我可以添加其他方面(如标签),但图像永远不会加载

public class Main extends Application{

public static void main(String[] args) {

launch(args);

}
@Override
public void start(Stage primaryStage) {
    Image Belial = new Image("file:C:\\Users\\jakem\\Desktop\\D&D Stuff\\Belial.jpg");
    System.out.println("Image loaded? " + !Belial.isError());
    if (Belial.isError()) {
        System.out.println(Belial.getException());
    }
    ImageView imageView = new ImageView(Belial);
    HBox hbox = new HBox(imageView);
    Scene scene = new Scene(hbox);
    primaryStage.setScene(scene);
    primaryStage.setTitle("Belial");

    primaryStage.show();
}

这些是我加载的模块,以及将JavaFX库添加到我的项目库中的模块

--module-path ${PATH_TO_FX} --add-modules javafx.controls,javafx.fxml

我在用Intellij

编辑:事实证明,尽管有jpg扩展名,但我的图像文件实际上不是jpg格式。切换到格式正确的jpg,效果很好


共 (0) 个答案