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);

Соответствующая информация

       Ни один.

 


Oracle и/или его филиалы Авторское право © 1993, 2012, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами