Класс 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 мкм) или 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 |
Значение для указания единиц измерения миллиметров (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.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
object-Objectдля сравнения - Возвращает:
-
trueеслиobjectэквивалентен этому атрибуту размера двухмерного размера,falseв противном случае - См. также:
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение кода хэша для этого объекта.
- См. также:
toString
public String toString()
"XxY um", где X — X измерение, а Y — Y измерение. Значения представлены в внутренних единицах измерения — микрометрах.- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление объекта.
getXMicrometers
protected int getXMicrometers()
X измерение атрибута размера двухмерного размера в единицах микрометров (мкм). (Для использования в подклассе.)- Возвращает:
-
Xизмерение (мкм)
getYMicrometers
protected int getYMicrometers()
Y измерение атрибута размера двухмерного размера в единицах микрометров (мкм). (Для использования в подклассе.)- Возвращает:
-
Yизмерение (мкм)
© 1993, 2023, 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/21/docs/api/java.desktop/javax/print/attribute/Size2DSyntax.html