Класс Size2DSyntax
- Все реализуемые интерфейсы:
-
Serializable,Cloneable
- Непосредственные известные подклассы:
MediaSize
public abstract class Size2DSyntax extends Object implements Serializable, Cloneable
Size2DSyntax является абстрактным базовым классом, предоставляющим общее реализацию для всех атрибутов, обозначающих размер в двух измерениях. Значение атрибута размера в двух измерениях состоит из двух элементов: размер по X оси и размер по Y оси. Атрибут размера в двух измерениях можно создать, указав два значения и единицы измерения этих значений. Предоставляются методы для возвращения значений атрибута размера в двух измерениях и указания единиц измерения, в которых должны возвращаться значения. Двумя наиболее распространенными единицами измерения размера являются дюймы (in) и миллиметры (мм), а экспортированные константы INCH и MM предназначены для указания этих единиц.
После создания значение атрибута размера в двух измерениях является неизменяемым.
Архитектура
Значения размеров атрибута размера в двух измерениях по X и Y осям хранятся внутри как целые числа в единицах микрометров (µm), где 1 микрометр = 10-6 метра = 1/1000 миллиметра = 1/25400 дюйма. Это позволяет точно представлять размеры с точностью до 1/1000 мм (= 1 мкм) или 1/100 дюйма (= 254 мкм). Если дробные дюймы выражаются в отрицательных степенях двойки, это позволяет точно представлять размеры с точностью до 1/8 дюйма (= 3175 мкм), но не 1/16 дюйма (поскольку 1/16 дюйма не равно целому числу мкм).
Хранение размеров во внутренних единицах мкм позволяет сравнивать два атрибута размера без учета единиц, в которых они были созданы; например, 8,5 дюймов будет эквивалентно 215,9 мм, поскольку оба хранятся как 215900 мкм. Например, служба поиска может сопоставить атрибуты разрешения, основываясь на равенстве их сериализованных представлений независимо от единиц, в которых они были созданы. Использование целых чисел для внутреннего хранения позволяет выполнять точные сравнения на равенство, что не гарантируется при использовании внутреннего представления с плавающей точкой. Обратите внимание, что если вы ищете U.S. letter размерные медиафайлы в метрических единицах, вам необходимо искать размер медиафайла 215,9 x 279,4 мм; округление до целых 216 x 279 мм не будет соответствовать.
Экспортированная константа INCH фактически является коэффициентом пересчета, с помощью которого значение в дюймах умножается, чтобы получить значение в мкм. Аналогично, экспортированная константа MM является коэффициентом пересчета, с помощью которого значение в мм умножается, чтобы получить значение в мкм. Клиент может указать значение разрешения в единицах измерения, отличных от дюймов или мм, указав собственный коэффициент пересчета. Однако, поскольку внутренние единицы мкм были выбраны, учитывая только внешние единицы дюймов и мм, нет гарантии, что коэффициент пересчета для единиц клиента будет целым числом. Если коэффициент пересчета не является целым числом, значения разрешения в единицах клиента не будут храниться точно.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
INCH |
Значение для обозначения единиц дюймов (in). |
static final int |
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размер этого атрибута равенobjectразмеруX.Yразмер этого атрибута равенobjectразмеруY.
hashCode
toString
public String toString()
"XxY um", где X — это X размер, а Y — это Y размер. Значения приводятся во внутренних единицах микрометров.getXMicrometers
protected int getXMicrometers()
X размер этого атрибута двухмерного размера в единицах микрометров (мкм). (Для использования в подклассе.)- Возвращает:
-
Xразмер (мкм)
getYMicrometers
protected int getYMicrometers()
Y размер этого атрибута двухмерного размера в единицах микрометров (мкм). (Для использования в подклассе.)- Возвращает:
-
Yразмер (мкм)
© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/print/attribute/Size2DSyntax.html