Класс 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).
Хранение измерений во внутренних общих единицах µm позволяет сравнивать два атрибута размера независимо от единиц, в которых они были созданы; например, 8.5 in будет равно 215.9 mm, поскольку оба значения хранятся как 215900 µm. Например, служба поиска может сопоставлять атрибуты разрешения на основе равенства их сериализованных представлений независимо от единиц, в которых они были созданы. Использование целых чисел для внутреннего хранения позволяет выполнять точные сравнения на равенство, чего нельзя было бы гарантировать при использовании внутреннего представления с плавающей точкой. Обратите внимание: если вы ищете носитель размера U.S. letter в метрических единицах, нужно искать носитель размером 215.9 x 279.4 mm; округление до целых 216 x 279 mm не даст совпадения.
Экспортируемая константа INCH фактически является коэффициентом преобразования, на который нужно умножить значение в дюймах, чтобы получить значение в µm. Аналогично, экспортируемая константа MM является коэффициентом преобразования, на который нужно умножить значение в mm, чтобы получить значение в µm. Клиент может указать значение разрешения в единицах, отличных от дюймов или mm, передав собственный коэффициент преобразования. Однако, поскольку внутренняя единица µm была выбрана с расчётом на поддержку только внешних единиц дюйма и mm, нет гарантии, что коэффициент преобразования для единиц клиента будет целым числом. Если коэффициент преобразования не является целым числом, значения разрешения в единицах клиента не будут храниться точно.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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 |
Возвращает строковое представление этого атрибута размера в двух измерениях в заданных единицах. |
Подробное описание полей
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/print/attribute/Size2DSyntax.html