Spec-Zone .ru
спецификации, руководства, описания, API
|
Отметьте: Это руководство по развертыванию Java описывает функции, выпущенные до Java SE 6 обновлений 10 выпусков. См. Java Богатый документ Разработки и Развертывания Интернет-приложений для последней информации.
java.lang.NullPointerException
Добавленный java.awt.Graphics.drawImage()
Выполняя апплет в браузере, используя среду выполнения Java Sun (JRE), a java.lang.NullPointerException
добавляется java.awt.Graphics.drawImage()
метод. Тот же самый апплет работает без любой ошибки под Microsoft Virtual Machine (VM).
Это исключение вызывается, передавая нулевое изображение к drawImage()
метод на солнце JRE.
Java библиотеки class на солнце JRE изменился в течение долгого времени. Некоторые API были разъяснены, некоторые были осуждены, и некоторым изменили их реализацию.
Результат передачи нулевого изображения в Graphics.drawImage()
метод не был четко определен. Microsoft VM обрабатывает нулевое изображение как нет. Однако, большинство версий Sun JRE не принимает нуль как допустимое изображение, таким образом приводящее к a java.lang.NullPointerException
. С версии 5.0 JRE была разъяснена спецификация, и нулевой параметр изображения обрабатывается как нет.
В версиях JRE прежде 5.0, кодируйте защитно, чтобы гарантировать, что только ненулевые изображения передают к drawImage()
метод. Например, следующие шоу кода:
Graphics g = getGraphics();
g.drawImage(img, 100, 100, this);
Измените вышеупомянутый код на:
Graphics g = getGraphics();
if (img != null)
g.drawImage(img, 100, 100, this);
Ни один.