|
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);
Ни один.