Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

java.lang.IllegalArgumentException Добавленный java.awt.Color Конструктор


Признаки

Выполняя апплет в браузере, используя среду выполнения Java Sun (JRE) реализация, a java.lang.IllegalArgumentException добавляется java.awt.Color конструктор. Тот же самый апплет работает под Microsoft Virtual Machine (VM).

Причина

Это исключение вызывается, передавая сверхсвязанный или подограниченным оценивает Color конструктор на солнце JRE.

Библиотеки классов Java на солнце JRE изменились в течение долгого времени. Некоторые API были разъяснены, некоторые были осуждены, и некоторым изменили их реализацию.

Результат передачи значений вне верхних и нижних границ в Color конструктор не четко определен. Microsoft VM приспосабливает значения к максимальным значениям цвета и минимальным значениям цвета автоматически. Sun JRE использует a java.lang.IllegalArgumentException указать, что за пределы значение определяется.

Разрешение

Код, чтобы гарантировать, что только допустимые значения цвета передают к Color конструктор. Например, если у Вас есть следующая структура кода:

  void Color newColor(int r, int g, int b)
        {
            return new Color(r, g, b);
        }

Измените код, чтобы гарантировать, что только допустимые значения цвета передают цветному конструктору как показано ниже:

        int ensureColorRange(int v)
        {
            if (v < 0)
                return 0;
            else if (v > 255)
                return 255;
            else
                return v;
        }
        void Color newColor(int r, int g, int b)
        {
            r = ensureColorRange(r);
            g = ensureColorRange(g);
            b = ensureColorRange(b);

            return new Color(r, g, b);
        }

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

Ни один.


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