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