Класс Size2DSyntax
- Все реализуемые интерфейсы:
-
Serializable,Cloneable
- Непосредственные известные подклассы:
MediaSize
public abstract class Size2DSyntax extends Object implements Serializable, Cloneable
Size2DSyntax является абстрактным базовым классом, предоставляющим общее реализацию всех атрибутов, обозначающих размер в двух измерениях. Значение атрибута размера в двух измерениях состоит из двух элементов, X измерения и Y измерения. Атрибут размера в двух измерениях можно создать, указав два значения и указав единицы измерения этих значений. Предоставляются методы для возврата значений атрибута размера в двух измерениях, указывая единицы, в которых должны быть возвращены значения. Две наиболее распространённые единицы измерения размера — дюймы (in) и миллиметры (мм), и экспортированные константы INCH и MM предоставляются для указания этих единиц.
После создания значение атрибута размера в двух измерениях неизменяемо.
Проектирование
Значения X и Y измерения атрибута размера в двух измерениях хранятся внутри в виде целых чисел в единицах микрон (µм), где 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 измерение этого атрибута размера в двух измерениях в единицах микрон (µм). |
float |
getY |
Возвращает Y измерение этого атрибута размера в двух измерениях в заданных единицах в виде значения с плавающей точкой. |
protected int |
getYMicrometers() |
Возвращает Y измерение этого атрибута размера в двух измерениях в единицах микрон (µм). |
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, 2021, 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/17/docs/api/java.desktop/javax/print/attribute/Size2DSyntax.html