Изображение JavaFX: проверьте, является ли изображение действительным - PullRequest
0 голосов
/ 13 июня 2018

Я написал небольшое приложение JavaFX со многими конфигурациями.Одним из них является то, что вы можете определить внутри конфигурационного файла, какие изображения вы хотите использовать.

Теперь я хотел добавить обработку ошибок для каждого случая, но я не знаю, как проверить,если конкретное изображение можно нарисовать.

Я уже знаю, как проверить наличие изображения, теперь я просто хочу знать, как проверить, будет ли javafx рисовать мое изображение или просто ничего не делать.

Image img = new Image("file:corrupted.png");
gc.drawImage(img, 0, 0);

В этом случае не выдается исключение, и gc просто ничего не рисует.

if (!img.isValid()) {
    throw new IllegalArgumentException;
}

Я хочу сделать что-то вроде кода выше

1 Ответ

0 голосов
/ 13 июня 2018

Возможно обнаружить ошибки во время загрузки Image.

С Image.errorProperty():

Указывает, была ли обнаружена ошибка во времязагрузка изображения.

Если вам нужно узнать, что вызвало ошибку, вы можете использовать это:

С Image.exceptionProperty():

Исключение, вызвавшее сбой загрузки изображения.Содержит ненулевое значение, только если для свойства error установлено значение true.

Если ваш Image создан с перегрузкой конструктора, которая загружается в фоновом режиме, вы также можете использовать Image.progressProperty(), чтобы проверить, что изображение завершило загрузку.Если image.getProgress() == 1 && !image.isError() равно true, то вы можете быть уверены, что существует допустимое изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...