org.jfree.text

## Class TextBlock

- java.lang.Object
- - org.jfree.text.TextBlock

- All Implemented Interfaces:
    java.io.Serializable

      public class TextBlock
      extends java.lang.Object
      implements java.io.Serializable

  A list of `TextLine` objects that form a block of text.
  Author:
    David Gilbert
  See Also:
    `TextUtilities.createTextBlock(String, Font, Paint)`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TextBlock()` Creates a new empty text block.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addLine(java.lang.String text, java.awt.Font font, java.awt.Paint paint)` Adds a line of text that will be displayed using the specified font.
    `void` | `addLine(TextLine line)` Adds a `TextLine` to the block.
    `java.awt.Shape` | `calculateBounds(java.awt.Graphics2D g2, float anchorX, float anchorY, TextBlockAnchor anchor, float rotateX, float rotateY, double angle)` Returns the bounds of the text block.
    `Size2D` | `calculateDimensions(java.awt.Graphics2D g2)` Returns the width and height of the text block.
    `void` | `draw(java.awt.Graphics2D g2, float x, float y, TextBlockAnchor anchor)` Draws the text block at a specific location.
    `void` | `draw(java.awt.Graphics2D g2, float anchorX, float anchorY, TextBlockAnchor anchor, float rotateX, float rotateY, double angle)` Draws the text block, aligning it with the specified anchor point and rotating it about the specified rotation point.
    `boolean` | `equals(java.lang.Object obj)` Tests this object for equality with an arbitrary object.
    `TextLine` | `getLastLine()` Returns the last line in the block.
    `HorizontalAlignment` | `getLineAlignment()` Returns the alignment of the lines of text within the block.
    `java.util.List` | `getLines()` Returns an unmodifiable list containing the lines for the text block.
    `int` | `hashCode()` Returns a hash code for this object.
    `void` | `setLineAlignment(HorizontalAlignment alignment)` Sets the alignment of the lines of text within the block.

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TextBlock

          public TextBlock()

      Creates a new empty text block.

  - ### Method Detail

    - #### getLineAlignment

          public HorizontalAlignment getLineAlignment()

      Returns the alignment of the lines of text within the block.
      Returns:
        The alignment (never `null`).

    - #### setLineAlignment

          public void setLineAlignment(HorizontalAlignment alignment)

      Sets the alignment of the lines of text within the block.
      Parameters:
        `alignment` - the alignment (`null` not permitted).

    - #### addLine

          public void addLine(java.lang.String text,
                              java.awt.Font font,
                              java.awt.Paint paint)

      Adds a line of text that will be displayed using the specified font.
      Parameters:
        `text` - the text.
        `font` - the font.
        `paint` - the paint.

    - #### addLine

          public void addLine(TextLine line)

      Adds a `TextLine` to the block.
      Parameters:
        `line` - the line.

    - #### getLastLine

          public TextLine getLastLine()

      Returns the last line in the block.
      Returns:
        The last line in the block.

    - #### getLines

          public java.util.List getLines()

      Returns an unmodifiable list containing the lines for the text block.
      Returns:
        A list of `TextLine` objects.

    - #### calculateDimensions

          public Size2D calculateDimensions(java.awt.Graphics2D g2)

      Returns the width and height of the text block.
      Parameters:
        `g2` - the graphics device.
      Returns:
        The width and height.

    - #### calculateBounds

          public java.awt.Shape calculateBounds(java.awt.Graphics2D g2,
                                                float anchorX,
                                                float anchorY,
                                                TextBlockAnchor anchor,
                                                float rotateX,
                                                float rotateY,
                                                double angle)

      Returns the bounds of the text block.
      Parameters:
        `g2` - the graphics device (`null` not permitted).
        `anchorX` - the x-coordinate for the anchor point.
        `anchorY` - the y-coordinate for the anchor point.
        `anchor` - the text block anchor (`null` not permitted).
        `rotateX` - the x-coordinate for the rotation point.
        `rotateY` - the y-coordinate for the rotation point.
        `angle` - the rotation angle.
      Returns:
        The bounds.

    - #### draw

          public void draw(java.awt.Graphics2D g2,
                           float x,
                           float y,
                           TextBlockAnchor anchor)

      Draws the text block at a specific location.
      Parameters:
        `g2` - the graphics device.
        `x` - the x-coordinate for the anchor point.
        `y` - the y-coordinate for the anchor point.
        `anchor` - the anchor point.

    - #### draw

          public void draw(java.awt.Graphics2D g2,
                           float anchorX,
                           float anchorY,
                           TextBlockAnchor anchor,
                           float rotateX,
                           float rotateY,
                           double angle)

      Draws the text block, aligning it with the specified anchor point and rotating it about the specified rotation point.
      Parameters:
        `g2` - the graphics device.
        `anchorX` - the x-coordinate for the anchor point.
        `anchorY` - the y-coordinate for the anchor point.
        `anchor` - the point on the text block that is aligned to the anchor point.
        `rotateX` - the x-coordinate for the rotation point.
        `rotateY` - the x-coordinate for the rotation point.
        `angle` - the rotation (in radians).

    - #### equals

          public boolean equals(java.lang.Object obj)

      Tests this object for equality with an arbitrary object.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `obj` - the object to test against (`null` permitted).
      Returns:
        A boolean.

    - #### hashCode

          public int hashCode()

      Returns a hash code for this object.
      Overrides:
        `hashCode` in class `java.lang.Object`
      Returns:
        A hash code.