public abstract class GraphicAttribute extends Object
 The GraphicAttribute class represents a graphic embedded
 in text. Clients subclass this class to implement their own char
 replacement graphics.  Clients wishing to embed shapes and images in
 text need not subclass this class.  Instead, clients can use the
 ShapeGraphicAttribute and ImageGraphicAttribute
 classes.
 
 Subclasses must ensure that their objects are immutable once they
 are constructed.  Mutating a GraphicAttribute that
 is used in a TextLayout results in undefined behavior from the
 TextLayout.
| Modifier and Type | Field and Description | 
|---|---|
| static int | BOTTOM_ALIGNMENTAligns bottom of graphic to bottom of line. | 
| static int | CENTER_BASELINEAligns origin of graphic to center baseline of line. | 
| static int | HANGING_BASELINEAligns origin of graphic to hanging baseline of line. | 
| static int | ROMAN_BASELINEAligns origin of graphic to roman baseline of line. | 
| static int | TOP_ALIGNMENTAligns top of graphic to top of line. | 
| Modifier | Constructor and Description | 
|---|---|
| protected  | GraphicAttribute(int alignment)Constructs a  GraphicAttribute. | 
| Modifier and Type | Method and Description | 
|---|---|
| abstract void | draw(Graphics2D graphics,
    float x,
    float y)Renders this  GraphicAttributeat the specified
 location. | 
| abstract float | getAdvance()Returns the advance of this  GraphicAttribute. | 
| int | getAlignment()Returns the alignment of this  GraphicAttribute. | 
| abstract float | getAscent()Returns the ascent of this  GraphicAttribute. | 
| Rectangle2D | getBounds()Returns a  Rectangle2Dthat encloses all of the
 bits drawn by thisGraphicAttributerelative to the
 rendering position. | 
| abstract float | getDescent()Returns the descent of this  GraphicAttribute. | 
| GlyphJustificationInfo | getJustificationInfo()Returns the justification information for this
  GraphicAttribute. | 
| Shape | getOutline(AffineTransform tx)Return a  Shapethat represents the region that
 thisGraphicAttributerenders. | 
public static final int TOP_ALIGNMENT
public static final int BOTTOM_ALIGNMENT
public static final int ROMAN_BASELINE
public static final int CENTER_BASELINE
public static final int HANGING_BASELINE
protected GraphicAttribute(int alignment)
GraphicAttribute.
 Subclasses use this to define the alignment of the graphic.alignment - an int representing one of the
 GraphicAttribute alignment fieldsIllegalArgumentException - if alignment is not one of the
 five defined values.public abstract float getAscent()
GraphicAttribute.  A
 graphic can be rendered above its ascent.GraphicAttribute.getBounds()public abstract float getDescent()
GraphicAttribute.  A
 graphic can be rendered below its descent.GraphicAttribute.getBounds()public abstract float getAdvance()
GraphicAttribute.  The
 GraphicAttribute object's advance is the distance
 from the point at which the graphic is rendered and the point where
 the next character or graphic is rendered.  A graphic can be
 rendered beyond its advanceGraphicAttribute.getBounds()public Rectangle2D getBounds()
Rectangle2D that encloses all of the
 bits drawn by this GraphicAttribute relative to the
 rendering position.
 A graphic may be rendered beyond its origin, ascent, descent,
 or advance;  but if it is, this method's implementation must
 indicate where the graphic is rendered.
 Default bounds is the rectangle (0, -ascent, advance, ascent+descent).Rectangle2D that encloses all of the bits
 rendered by this GraphicAttribute.public Shape getOutline(AffineTransform tx)
Shape that represents the region that
 this GraphicAttribute renders.  This is used when a
 TextLayout is requested to return the outline of the text.
 The (untransformed) shape must not extend outside the rectangular
 bounds returned by getBounds.
 The default implementation returns the rectangle returned by
 getBounds(), transformed by the provided AffineTransform
 if present.tx - an optional AffineTransform to apply to the
   outline of this GraphicAttribute. This can be null.Shape representing this graphic attribute,
   suitable for stroking or filling.public abstract void draw(Graphics2D graphics, float x, float y)
GraphicAttribute at the specified
 location.graphics - the Graphics2D into which to render the
 graphicx - the user-space X coordinate where the graphic is renderedy - the user-space Y coordinate where the graphic is renderedpublic final int getAlignment()
GraphicAttribute.
 Alignment can be to a particular baseline, or to the absolute top
 or bottom of a line.GraphicAttribute.public GlyphJustificationInfo getJustificationInfo()
GraphicAttribute.  Subclasses
 can override this method to provide different justification
 information.GlyphJustificationInfo object that contains the
 justification information for this GraphicAttribute. Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.