Класс GraphicAttribute
- Прямые известные подклассы:
ImageGraphicAttribute, ShapeGraphicAttribute
public abstract class GraphicAttribute extends Object
Класс GraphicAttribute представляет графический объект, встроенный в текст. Клиенты создают подклассы этого класса, чтобы реализовать собственные графические объекты для замены символов. Клиентам, желающим встроить в текст фигуры и изображения, не требуется создавать подклассы этого класса. Вместо этого можно использовать классы ShapeGraphicAttribute и ImageGraphicAttribute.
Подклассы должны обеспечивать неизменность своих объектов после их создания. Изменение GraphicAttribute, используемого в TextLayout, приводит к неопределенному поведению TextLayout.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
BOTTOM_ALIGNMENT |
Выравнивает нижнюю границу графического объекта по нижней границе строки. |
static final int |
CENTER_BASELINE |
Выравнивает начало координат графического объекта по центральной базовой линии строки. |
static final int |
HANGING_BASELINE |
Выравнивает начало координат графического объекта по висячей базовой линии строки. |
static final int |
ROMAN_BASELINE |
Выравнивает начало координат графического объекта по базовой линии строки. |
static final int |
TOP_ALIGNMENT |
Выравнивает верхнюю границу графического объекта по верхней границе строки. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает GraphicAttribute. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
draw |
Отображает этот GraphicAttribute в указанном месте. |
abstract float |
getAdvance() |
Возвращает шаг этого GraphicAttribute. |
final int |
getAlignment() |
Возвращает выравнивание этого GraphicAttribute. |
abstract float |
getAscent() |
Возвращает высоту над базовой линией этого GraphicAttribute. |
Rectangle2D |
getBounds() |
Возвращает Rectangle2D, охватывающий все пиксели, нарисованные этим GraphicAttribute относительно позиции отображения. |
abstract float |
getDescent() |
Возвращает высоту под базовой линией этого GraphicAttribute. |
GlyphJustificationInfo |
getJustificationInfo() |
Возвращает сведения о выравнивании этого GraphicAttribute. |
Shape |
getOutline |
Возвращает Shape, представляющую область, отображаемую этим GraphicAttribute. |
Подробное описание полей
TOP_ALIGNMENT
public static final int TOP_ALIGNMENT
- См. также:
BOTTOM_ALIGNMENT
public static final int BOTTOM_ALIGNMENT
- См. также:
ROMAN_BASELINE
public static final int ROMAN_BASELINE
- См. также:
CENTER_BASELINE
public static final int CENTER_BASELINE
- См. также:
HANGING_BASELINE
public static final int HANGING_BASELINE
- См. также:
Подробное описание конструкторов
GraphicAttribute
protected GraphicAttribute(int alignment)
GraphicAttribute. Подклассы используют этот конструктор для задания выравнивания графического объекта.- Параметры:
-
alignment— целое число, представляющее одно из полей выравниванияGraphicAttribute - Исключения:
-
IllegalArgumentException— если значение выравнивания не является одним из пяти определенных значений.
Подробное описание методов
getAscent
public abstract float getAscent()
GraphicAttribute. Графический объект может отображаться выше этой высоты.- Возвращает:
- высоту над базовой линией этого
GraphicAttribute. - См. также:
getDescent
public abstract float getDescent()
GraphicAttribute. Графический объект может отображаться ниже этой высоты.- Возвращает:
- высоту под базовой линией этого
GraphicAttribute. - См. также:
getAdvance
public abstract float getAdvance()
GraphicAttribute. Шаг объекта GraphicAttribute — это расстояние от точки отображения графического объекта до точки отображения следующего символа или графического объекта. Графический объект может выходить за пределы своего шага- Возвращает:
- шаг этого
GraphicAttribute. - См. также:
getBounds
public Rectangle2D getBounds()
Rectangle2D, охватывающий все пиксели, нарисованные этим GraphicAttribute относительно позиции отображения. Графический объект может отображаться за пределами своего начала координат, высоты над базовой линией, высоты под базовой линией или шага; в таком случае реализация этого метода должна указывать место отображения графического объекта. Прямоугольник границ по умолчанию: (0, -ascent, advance, ascent+descent).- Возвращает:
Rectangle2D, охватывающий все пиксели, отображаемые этимGraphicAttribute.
getOutline
public Shape getOutline(AffineTransform tx)
Shape, представляющую область, отображаемую этим GraphicAttribute. Этот метод используется, когда от TextLayout запрашивают контур текста. Непреобразованная фигура не должна выходить за прямоугольные границы, возвращаемые методом getBounds. Реализация по умолчанию возвращает прямоугольник, возвращаемый методом getBounds(), преобразованный с помощью предоставленного AffineTransform, если он задан.- Параметры:
-
tx— необязательныйAffineTransform, применяемый к контуру этогоGraphicAttribute. Может быть равен null. - Возвращает:
Shape, представляющую этот графический атрибут и пригодную для обводки или заливки.- С версии:
- 1.6
draw
public abstract void draw(Graphics2D graphics, float x, float y)
GraphicAttribute в указанном месте.- Параметры:
-
graphics— объектGraphics2D, в который нужно отобразить графический объект -
x— координата X в пользовательском пространстве, в которой отображается графический объект -
y— координата Y в пользовательском пространстве, в которой отображается графический объект
getAlignment
public final int getAlignment()
GraphicAttribute. Выравнивание может выполняться по определенной базовой линии или по абсолютной верхней либо нижней границе строки.- Возвращает:
- выравнивание этого
GraphicAttribute.
getJustificationInfo
public GlyphJustificationInfo getJustificationInfo()
GraphicAttribute. Подклассы могут переопределить этот метод, чтобы предоставлять другие сведения о выравнивании.- Возвращает:
- объект
GlyphJustificationInfo, содержащий сведения о выравнивании этогоGraphicAttribute.
© 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/java/awt/font/GraphicAttribute.html