我编写了一个包含许多配置的小型JavaFX应用程序。其中之一是,您可以在配置文件中定义要使用的图像。
现在我想为每个案例添加错误处理,但我不知道如何检查特定图像是否可绘制。
我已经知道了,如何检查是否存在图像,现在我只想知道,如何检查,如果javafx会绘制我的图像或者什么也不做。
Image img = new Image("file:corrupted.png");
gc.drawImage(img, 0, 0);
在这种情况下,不会抛出任何异常,并且gc只会绘制任何内容。
if (!img.isValid()) {
throw new IllegalArgumentException;
}
我想做类似上面代码的事情
答案 0 :(得分:3)
可以在加载Image
期间检测错误。
指示加载图像时是否检测到错误。
如果您需要知道导致错误的原因,可以使用:
导致图像加载失败的异常。仅当error属性设置为true时才包含非null值。
如果您的Image
是使用在后台加载的构造函数重载构造的,那么您还可以使用Image.progressProperty()
检查图像是否已完成加载。如果image.getProgress() == 1 && !image.isError()
为true
,那么您可以确定存在有效图片。