Класс Size2DSyntax
- Все реализуемые интерфейсы:
Serializable, Cloneable
- Прямые известные подклассы:
MediaSize
public abstract class Size2DSyntax extends Object implements Serializable, Cloneable
Size2DSyntax — это абстрактный базовый класс, предоставляющий общую реализацию всех атрибутов, обозначающих размер в двух измерениях. Значение атрибута двухмерного размера состоит из двух элементов: измерения X и измерения Y. Атрибут двухмерного размера можно создать, указав два значения и единицы, в которых они измеряются. Предусмотрены методы для получения значений атрибута двухмерного размера с указанием единиц, в которых следует их вернуть. Две наиболее распространённые единицы измерения размера — дюймы (in) и миллиметры (mm); для их обозначения предоставляются экспортируемые константы INCH и MM.
После создания значение атрибута двухмерного размера становится неизменяемым.
Проектирование
Значения измерений X и Y атрибута двухмерного размера хранятся внутри в виде целых чисел в микрометрах (µm), где 1 микрометр = 10-6 метра = 1/1000 миллиметра = 1/25400 дюйма. Это позволяет точно представлять размеры с точностью до 1/1000 мм (= 1 µm) или 1/100 дюйма (= 254 µm). Если дробные значения в дюймах выражены отрицательными степенями двойки, это позволяет точно представлять размеры с точностью до 1/8 дюйма (= 3175 µm), но не до 1/16 дюйма (поскольку 1/16 дюйма не равен целому числу микрометров).
Хранение измерений внутри в общих единицах µm позволяет сравнивать два атрибута размера независимо от единиц, в которых они были созданы; например, 8.5 дюйма будет равняться 215.9 мм, поскольку оба значения хранятся как 215900 µm. Например, служба поиска может сопоставлять атрибуты разрешения на основе равенства их сериализованных представлений независимо от единиц, в которых они были созданы. Использование целых чисел для внутреннего хранения позволяет выполнять точные сравнения на равенство, что не гарантировалось бы при использовании внутреннего представления с плавающей точкой. Обратите внимание: если вы ищете носитель размером U.S. letter в метрических единицах, необходимо искать носитель размером 215.9 x 279.4 мм; округление до целых 216 x 279 мм не даст совпадения.
Экспортируемая константа INCH фактически является коэффициентом преобразования, на который нужно умножить значение в дюймах, чтобы получить значение в µm. Аналогично, экспортируемая константа MM является коэффициентом преобразования, на который нужно умножить значение в мм, чтобы получить значение в µm. Клиент может указать значение разрешения в единицах, отличных от дюймов или мм, предоставив собственный коэффициент преобразования. Однако, поскольку внутренние единицы µm были выбраны с расчётом на поддержку только внешних единиц дюйма и мм, нет гарантии, что коэффициент преобразования для единиц клиента будет целым числом. Если коэффициент преобразования не является целым числом, значения разрешения в единицах клиента не будут храниться точно.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
INCH |
Значение, обозначающее единицы измерения в дюймах (in). |
static final int |
MM |
Значение, обозначающее единицы измерения в миллиметрах (mm). |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт новый атрибут двухмерного размера из заданных значений с плавающей точкой. |
|
protected |
Создаёт новый атрибут двухмерного размера из заданных целочисленных значений. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Возвращает результат проверки эквивалентности этого атрибута двухмерного размера переданному объекту. |
float[] |
getSize |
Возвращает измерения этого атрибута двухмерного размера в заданных единицах в виде значений с плавающей точкой. |
float |
getX |
Возвращает измерение X этого атрибута двухмерного размера в заданных единицах в виде значения с плавающей точкой. |
protected int |
getXMicrometers() |
Возвращает измерение X этого атрибута двухмерного размера в микрометрах (µm). |
float |
getY |
Возвращает измерение Y этого атрибута двухмерного размера в заданных единицах в виде значения с плавающей точкой. |
protected int |
getYMicrometers() |
Возвращает измерение Y этого атрибута двухмерного размера в микрометрах (µm). |
int |
hashCode() |
Возвращает хеш-код этого атрибута двухмерного размера. |
String |
toString() |
Возвращает строковое представление этого атрибута двухмерного размера. |
String |
toString |
Возвращает строковое представление этого атрибута двухмерного размера в заданных единицах. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
protected void |
finalize() |
Устарел и подлежит удалению: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
INCH
public static final int INCH
- См. также:
MM
public static final int MM
- См. также:
Подробное описание конструкторов
Size2DSyntax
protected Size2DSyntax(float x, float y, int units)
- Параметры:
-
x— измерениеX -
y— измерениеY -
units— коэффициент преобразования единиц, напримерINCHилиMM - Исключения:
-
IllegalArgumentException— еслиx < 0,y < 0илиunits < 1
Size2DSyntax
protected Size2DSyntax(int x, int y, int units)
- Параметры:
-
x— измерениеX -
y— измерениеY -
units— коэффициент преобразования единиц, напримерINCHилиMM - Исключения:
-
IllegalArgumentException— еслиx < 0,y < 0илиunits < 1
Подробное описание методов
getSize
public float[] getSize(int units)
- Параметры:
-
units— коэффициент преобразования единиц, напримерINCHилиMM - Возвращает:
- массив из двух элементов: измерение
Xс индексом 0 и измерениеYс индексом 1 - Исключения:
-
IllegalArgumentException— еслиunits < 1
getX
public float getX(int units)
X этого атрибута двухмерного размера в заданных единицах в виде значения с плавающей точкой.- Параметры:
-
units— коэффициент преобразования единиц, напримерINCHилиMM - Возвращает:
-
измерение
X - Исключения:
-
IllegalArgumentException— еслиunits < 1
getY
public float getY(int units)
Y этого атрибута двухмерного размера в заданных единицах в виде значения с плавающей точкой.- Параметры:
-
units— коэффициент преобразования единиц, напримерINCHилиMM - Возвращает:
-
измерение
Y - Исключения:
-
IllegalArgumentException— еслиunits < 1
toString
public String toString(int units, String unitsName)
"XxY
U", где X — измерение X, Y — измерение Y, а U — название единицы измерения. Значения отображаются в формате с плавающей точкой.- Параметры:
-
units— коэффициент преобразования единиц, напримерINCHилиMM -
unitsName— строка с названием единицы измерения, напримерinилиmm. Еслиnull, название единицы измерения не добавляется к результату - Возвращает:
-
Stringпредставление этого атрибута двухмерного размера - Исключения:
-
IllegalArgumentException— еслиunits < 1
equals
public boolean equals(Object object)
-
objectне являетсяnull. -
objectявляется экземпляром классаSize2DSyntax - Измерение
Xэтого атрибута равно измерениюXобъектаobject. - Измерение
Yэтого атрибута равно измерениюYобъектаobject.
hashCode
toString
public String toString()
"XxY um", где X — измерение X, а Y — измерение Y. Значения указываются во внутренних единицах — микрометрах.getXMicrometers
protected int getXMicrometers()
X этого атрибута двухмерного размера в микрометрах (µm). (Для использования в подклассе.)- Возвращает:
-
измерение
X(µm)
getYMicrometers
protected int getYMicrometers()
Y этого атрибута двухмерного размера в микрометрах (µm). (Для использования в подклассе.)- Возвращает:
-
измерение
Y(µm)
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.