- java.lang.Object
- 
- java.awt.font.GraphicAttribute
 
- 
- Direct Known Subclasses:
- ImageGraphicAttribute,- ShapeGraphicAttribute
 
 public abstract class GraphicAttribute extends Object This class is used with the CHAR_REPLACEMENT attribute.The GraphicAttributeclass 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 theShapeGraphicAttributeandImageGraphicAttributeclasses.Subclasses must ensure that their objects are immutable once they are constructed. Mutating a GraphicAttributethat is used in aTextLayoutresults in undefined behavior from theTextLayout.
- 
- 
Field SummaryFields Modifier and Type Field Description static intBOTTOM_ALIGNMENTAligns bottom of graphic to bottom of line.static intCENTER_BASELINEAligns origin of graphic to center baseline of line.static intHANGING_BASELINEAligns origin of graphic to hanging baseline of line.static intROMAN_BASELINEAligns origin of graphic to roman baseline of line.static intTOP_ALIGNMENTAligns top of graphic to top of line.
 - 
Constructor SummaryConstructors Modifier Constructor Description protectedGraphicAttribute(int alignment)Constructs aGraphicAttribute.
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voiddraw(Graphics2D graphics, float x, float y)Renders thisGraphicAttributeat the specified location.abstract floatgetAdvance()Returns the advance of thisGraphicAttribute.intgetAlignment()Returns the alignment of thisGraphicAttribute.abstract floatgetAscent()Returns the ascent of thisGraphicAttribute.Rectangle2DgetBounds()Returns aRectangle2Dthat encloses all of the bits drawn by thisGraphicAttributerelative to the rendering position.abstract floatgetDescent()Returns the descent of thisGraphicAttribute.GlyphJustificationInfogetJustificationInfo()Returns the justification information for thisGraphicAttribute.ShapegetOutline(AffineTransform tx)Return aShapethat represents the region that thisGraphicAttributerenders.
 
- 
- 
- 
Field Detail- 
TOP_ALIGNMENTpublic static final int TOP_ALIGNMENT Aligns top of graphic to top of line.- See Also:
- Constant Field Values
 
 - 
BOTTOM_ALIGNMENTpublic static final int BOTTOM_ALIGNMENT Aligns bottom of graphic to bottom of line.- See Also:
- Constant Field Values
 
 - 
ROMAN_BASELINEpublic static final int ROMAN_BASELINE Aligns origin of graphic to roman baseline of line.- See Also:
- Constant Field Values
 
 - 
CENTER_BASELINEpublic static final int CENTER_BASELINE Aligns origin of graphic to center baseline of line.- See Also:
- Constant Field Values
 
 - 
HANGING_BASELINEpublic static final int HANGING_BASELINE Aligns origin of graphic to hanging baseline of line.- See Also:
- Constant Field Values
 
 
- 
 - 
Constructor Detail- 
GraphicAttributeprotected GraphicAttribute(int alignment) Constructs aGraphicAttribute. Subclasses use this to define the alignment of the graphic.- Parameters:
- alignment- an int representing one of the- GraphicAttributealignment fields
- Throws:
- IllegalArgumentException- if alignment is not one of the five defined values.
 
 
- 
 - 
Method Detail- 
getAscentpublic abstract float getAscent() Returns the ascent of thisGraphicAttribute. A graphic can be rendered above its ascent.- Returns:
- the ascent of this GraphicAttribute.
- See Also:
- getBounds()
 
 - 
getDescentpublic abstract float getDescent() Returns the descent of thisGraphicAttribute. A graphic can be rendered below its descent.- Returns:
- the descent of this GraphicAttribute.
- See Also:
- getBounds()
 
 - 
getAdvancepublic abstract float getAdvance() Returns the advance of thisGraphicAttribute. TheGraphicAttributeobject'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 advance- Returns:
- the advance of this GraphicAttribute.
- See Also:
- getBounds()
 
 - 
getBoundspublic Rectangle2D getBounds() Returns aRectangle2Dthat encloses all of the bits drawn by thisGraphicAttributerelative 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).- Returns:
- a Rectangle2Dthat encloses all of the bits rendered by thisGraphicAttribute.
 
 - 
getOutlinepublic Shape getOutline(AffineTransform tx) Return aShapethat represents the region that thisGraphicAttributerenders. This is used when aTextLayoutis requested to return the outline of the text. The (untransformed) shape must not extend outside the rectangular bounds returned bygetBounds. The default implementation returns the rectangle returned bygetBounds(), transformed by the providedAffineTransformif present.- Parameters:
- tx- an optional- AffineTransformto apply to the outline of this- GraphicAttribute. This can be null.
- Returns:
- a Shaperepresenting this graphic attribute, suitable for stroking or filling.
- Since:
- 1.6
 
 - 
drawpublic abstract void draw(Graphics2D graphics, float x, float y) Renders thisGraphicAttributeat the specified location.- Parameters:
- graphics- the- Graphics2Dinto which to render the graphic
- x- the user-space X coordinate where the graphic is rendered
- y- the user-space Y coordinate where the graphic is rendered
 
 - 
getAlignmentpublic final int getAlignment() Returns the alignment of thisGraphicAttribute. Alignment can be to a particular baseline, or to the absolute top or bottom of a line.- Returns:
- the alignment of this GraphicAttribute.
 
 - 
getJustificationInfopublic GlyphJustificationInfo getJustificationInfo() Returns the justification information for thisGraphicAttribute. Subclasses can override this method to provide different justification information.- Returns:
- a GlyphJustificationInfoobject that contains the justification information for thisGraphicAttribute.
 
 
- 
 
-