org.jfree.chart.title

## Class TextTitle

- java.lang.Object
- - org.jfree.chart.block.AbstractBlock
  - - org.jfree.chart.title.Title
    - - org.jfree.chart.title.TextTitle

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Block, Drawable, PublicCloneable

      public class TextTitle
      extends Title
      implements java.io.Serializable, java.lang.Cloneable, PublicCloneable

  A chart title that displays a text string with automatic wrapping as required.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.awt.Font` | `DEFAULT_FONT` The default font.
    `static java.awt.Paint` | `DEFAULT_TEXT_PAINT` The default text color.

    - ### Fields inherited from class org.jfree.chart.title.Title

      `DEFAULT_HORIZONTAL_ALIGNMENT, DEFAULT_PADDING, DEFAULT_POSITION, DEFAULT_VERTICAL_ALIGNMENT, visible`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TextTitle()` Creates a new title, using default attributes where necessary.
    `TextTitle(java.lang.String text)` Creates a new title, using default attributes where necessary.
    `TextTitle(java.lang.String text, java.awt.Font font)` Creates a new title, using default attributes where necessary.
    `TextTitle(java.lang.String text, java.awt.Font font, java.awt.Paint paint, RectangleEdge position, HorizontalAlignment horizontalAlignment, VerticalAlignment verticalAlignment, RectangleInsets padding)` Creates a new title.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Size2D` | `arrange(java.awt.Graphics2D g2, RectangleConstraint constraint)` Arranges the contents of the block, within the given constraints, and returns the block size.
    `protected Size2D` | `arrangeFN(java.awt.Graphics2D g2, double w)` Arranges the content for this title assuming a fixed width and no bounds on the height, and returns the required size.
    `protected Size2D` | `arrangeNN(java.awt.Graphics2D g2)` Arranges the content for this title assuming no bounds on the width or the height, and returns the required size.
    `protected Size2D` | `arrangeRN(java.awt.Graphics2D g2, Range widthRange)` Arranges the content for this title assuming a range constraint for the width and no bounds on the height, and returns the required size.
    `protected Size2D` | `arrangeRR(java.awt.Graphics2D g2, Range widthRange, Range heightRange)` Returns the content size for the title.
    `java.lang.Object` | `clone()` Returns a clone of this object.
    `void` | `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)` Draws the title on a Java 2D graphics device (such as the screen or a printer).
    `java.lang.Object` | `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area, java.lang.Object params)` Draws the block within the specified area.
    `protected void` | `drawHorizontal(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)` Draws a the title horizontally within the specified area.
    `protected void` | `drawVertical(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)` Draws a the title vertically within the specified area.
    `boolean` | `equals(java.lang.Object obj)` Tests this title for equality with another object.
    `java.awt.Paint` | `getBackgroundPaint()` Returns the background paint.
    `boolean` | `getExpandToFitSpace()` Returns the flag that controls whether or not the title expands to fit the available space.
    `java.awt.Font` | `getFont()` Returns the font used to display the title string.
    `int` | `getMaximumLinesToDisplay()` Returns the maximum number of lines to display.
    `java.awt.Paint` | `getPaint()` Returns the paint used to display the title string.
    `java.lang.String` | `getText()` Returns the title text.
    `HorizontalAlignment` | `getTextAlignment()` Returns the text alignment.
    `java.lang.String` | `getToolTipText()` Returns the tool tip text.
    `java.lang.String` | `getURLText()` Returns the URL text.
    `int` | `hashCode()` Returns a hash code.
    `void` | `setBackgroundPaint(java.awt.Paint paint)` Sets the background paint and sends a `TitleChangeEvent` to all registered listeners.
    `void` | `setExpandToFitSpace(boolean expand)` Sets the flag that controls whether the title expands to fit the available space, and sends a `TitleChangeEvent` to all registered listeners.
    `void` | `setFont(java.awt.Font font)` Sets the font used to display the title string.
    `void` | `setMaximumLinesToDisplay(int max)` Sets the maximum number of lines to display and sends a `TitleChangeEvent` to all registered listeners.
    `void` | `setPaint(java.awt.Paint paint)` Sets the paint used to display the title string.
    `void` | `setText(java.lang.String text)` Sets the title to the specified text and sends a `TitleChangeEvent` to all registered listeners.
    `void` | `setTextAlignment(HorizontalAlignment alignment)` Sets the text alignment and sends a `TitleChangeEvent` to all registered listeners.
    `void` | `setToolTipText(java.lang.String text)` Sets the tool tip text to the specified text and sends a `TitleChangeEvent` to all registered listeners.
    `void` | `setURLText(java.lang.String text)` Sets the URL text to the specified text and sends a `TitleChangeEvent` to all registered listeners.

    - ### Methods inherited from class org.jfree.chart.title.Title

      `addChangeListener, getHorizontalAlignment, getNotify, getPosition, getVerticalAlignment, isVisible, notifyListeners, removeChangeListener, setHorizontalAlignment, setNotify, setPosition, setVerticalAlignment, setVisible`

    - ### Methods inherited from class org.jfree.chart.block.AbstractBlock

      `arrange, calculateTotalHeight, calculateTotalWidth, drawBorder, getBorder, getBounds, getContentXOffset, getContentYOffset, getFrame, getHeight, getID, getMargin, getPadding, getWidth, setBorder, setBorder, setBounds, setFrame, setHeight, setID, setMargin, setMargin, setPadding, setPadding, setWidth, toContentConstraint, trimBorder, trimMargin, trimPadding, trimToContentHeight, trimToContentWidth`

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

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

    - ### Methods inherited from interface org.jfree.chart.block.Block

      `arrange, getBounds, getID, setBounds, setID`

- - ### Field Detail

    - #### DEFAULT_FONT

          public static final java.awt.Font DEFAULT_FONT

      The default font.

    - #### DEFAULT_TEXT_PAINT

          public static final java.awt.Paint DEFAULT_TEXT_PAINT

      The default text color.

  - ### Constructor Detail

    - #### TextTitle

          public TextTitle()

      Creates a new title, using default attributes where necessary.

    - #### TextTitle

          public TextTitle(java.lang.String text)

      Creates a new title, using default attributes where necessary.
      Parameters:
        `text` - the title text (`null` not permitted).

    - #### TextTitle

          public TextTitle(java.lang.String text,
                           java.awt.Font font)

      Creates a new title, using default attributes where necessary.
      Parameters:
        `text` - the title text (`null` not permitted).
        `font` - the title font (`null` not permitted).

    - #### TextTitle

          public TextTitle(java.lang.String text,
                           java.awt.Font font,
                           java.awt.Paint paint,
                           RectangleEdge position,
                           HorizontalAlignment horizontalAlignment,
                           VerticalAlignment verticalAlignment,
                           RectangleInsets padding)

      Creates a new title.
      Parameters:
        `text` - the text for the title (`null` not permitted).
        `font` - the title font (`null` not permitted).
        `paint` - the title paint (`null` not permitted).
        `position` - the title position (`null` not permitted).
        `horizontalAlignment` - the horizontal alignment (`null` not permitted).
        `verticalAlignment` - the vertical alignment (`null` not permitted).
        `padding` - the space to leave around the outside of the title.

  - ### Method Detail

    - #### getText

          public java.lang.String getText()

      Returns the title text.
      Returns:
        The text (never `null`).
      See Also:
        `setText(String)`

    - #### setText

          public void setText(java.lang.String text)

      Sets the title to the specified text and sends a `TitleChangeEvent` to all registered listeners.
      Parameters:
        `text` - the text (`null` not permitted).

    - #### getTextAlignment

          public HorizontalAlignment getTextAlignment()

      Returns the text alignment. This controls how the text is aligned within the title's bounds, whereas the title's horizontal alignment controls how the title's bounding rectangle is aligned within the drawing space.
      Returns:
        The text alignment.

    - #### setTextAlignment

          public void setTextAlignment(HorizontalAlignment alignment)

      Sets the text alignment and sends a `TitleChangeEvent` to all registered listeners.
      Parameters:
        `alignment` - the alignment (`null` not permitted).

    - #### getFont

          public java.awt.Font getFont()

      Returns the font used to display the title string.
      Returns:
        The font (never `null`).
      See Also:
        `setFont(Font)`

    - #### setFont

          public void setFont(java.awt.Font font)

      Sets the font used to display the title string. Registered listeners are notified that the title has been modified.
      Parameters:
        `font` - the new font (`null` not permitted).
      See Also:
        `getFont()`

    - #### getPaint

          public java.awt.Paint getPaint()

      Returns the paint used to display the title string.
      Returns:
        The paint (never `null`).
      See Also:
        `setPaint(Paint)`

    - #### setPaint

          public void setPaint(java.awt.Paint paint)

      Sets the paint used to display the title string. Registered listeners are notified that the title has been modified.
      Parameters:
        `paint` - the new paint (`null` not permitted).
      See Also:
        `getPaint()`

    - #### getBackgroundPaint

          public java.awt.Paint getBackgroundPaint()

      Returns the background paint.
      Returns:
        The paint (possibly `null`).

    - #### setBackgroundPaint

          public void setBackgroundPaint(java.awt.Paint paint)

      Sets the background paint and sends a `TitleChangeEvent` to all registered listeners. If you set this attribute to `null`, no background is painted (which makes the title background transparent).
      Parameters:
        `paint` - the background paint (`null` permitted).

    - #### getToolTipText

          public java.lang.String getToolTipText()

      Returns the tool tip text.
      Returns:
        The tool tip text (possibly `null`).

    - #### setToolTipText

          public void setToolTipText(java.lang.String text)

      Sets the tool tip text to the specified text and sends a `TitleChangeEvent` to all registered listeners.
      Parameters:
        `text` - the text (`null` permitted).

    - #### getURLText

          public java.lang.String getURLText()

      Returns the URL text.
      Returns:
        The URL text (possibly `null`).

    - #### setURLText

          public void setURLText(java.lang.String text)

      Sets the URL text to the specified text and sends a `TitleChangeEvent` to all registered listeners.
      Parameters:
        `text` - the text (`null` permitted).

    - #### getExpandToFitSpace

          public boolean getExpandToFitSpace()

      Returns the flag that controls whether or not the title expands to fit the available space.
      Returns:
        The flag.

    - #### setExpandToFitSpace

          public void setExpandToFitSpace(boolean expand)

      Sets the flag that controls whether the title expands to fit the available space, and sends a `TitleChangeEvent` to all registered listeners.
      Parameters:
        `expand` - the flag.

    - #### getMaximumLinesToDisplay

          public int getMaximumLinesToDisplay()

      Returns the maximum number of lines to display.
      Returns:
        The maximum.
      Since:
        1.0.10
      See Also:
        `setMaximumLinesToDisplay(int)`

    - #### setMaximumLinesToDisplay

          public void setMaximumLinesToDisplay(int max)

      Sets the maximum number of lines to display and sends a `TitleChangeEvent` to all registered listeners.
      Parameters:
        `max` - the maximum.
      Since:
        1.0.10.
      See Also:
        `getMaximumLinesToDisplay()`

    - #### arrange

          public Size2D arrange(java.awt.Graphics2D g2,
                                RectangleConstraint constraint)

      Arranges the contents of the block, within the given constraints, and returns the block size.
      Specified by:
        `arrange` in interface `Block`
      Overrides:
        `arrange` in class `AbstractBlock`
      Parameters:
        `g2` - the graphics device.
        `constraint` - the constraint (`null` not permitted).
      Returns:
        The block size (in Java2D units, never `null`).

    - #### arrangeNN

          protected Size2D arrangeNN(java.awt.Graphics2D g2)

      Arranges the content for this title assuming no bounds on the width or the height, and returns the required size. This will reflect the fact that a text title positioned on the left or right of a chart will be rotated by 90 degrees.
      Parameters:
        `g2` - the graphics target.
      Returns:
        The content size.
      Since:
        1.0.9

    - #### arrangeFN

          protected Size2D arrangeFN(java.awt.Graphics2D g2,
                                     double w)

      Arranges the content for this title assuming a fixed width and no bounds on the height, and returns the required size. This will reflect the fact that a text title positioned on the left or right of a chart will be rotated by 90 degrees.
      Parameters:
        `g2` - the graphics target.
        `w` - the width.
      Returns:
        The content size.
      Since:
        1.0.9

    - #### arrangeRN

          protected Size2D arrangeRN(java.awt.Graphics2D g2,
                                     Range widthRange)

      Arranges the content for this title assuming a range constraint for the width and no bounds on the height, and returns the required size. This will reflect the fact that a text title positioned on the left or right of a chart will be rotated by 90 degrees.
      Parameters:
        `g2` - the graphics target.
        `widthRange` - the range for the width.
      Returns:
        The content size.
      Since:
        1.0.9

    - #### arrangeRR

          protected Size2D arrangeRR(java.awt.Graphics2D g2,
                                     Range widthRange,
                                     Range heightRange)

      Returns the content size for the title. This will reflect the fact that a text title positioned on the left or right of a chart will be rotated 90 degrees.
      Parameters:
        `g2` - the graphics device.
        `widthRange` - the width range.
        `heightRange` - the height range.
      Returns:
        The content size.

    - #### draw

          public void draw(java.awt.Graphics2D g2,
                           java.awt.geom.Rectangle2D area)

      Draws the title on a Java 2D graphics device (such as the screen or a printer).
      Specified by:
        `draw` in interface `Drawable`
      Specified by:
        `draw` in class `Title`
      Parameters:
        `g2` - the graphics device.
        `area` - the area allocated for the title.

    - #### draw

          public java.lang.Object draw(java.awt.Graphics2D g2,
                                       java.awt.geom.Rectangle2D area,
                                       java.lang.Object params)

      Draws the block within the specified area.
      Specified by:
        `draw` in interface `Block`
      Parameters:
        `g2` - the graphics device.
        `area` - the area.
        `params` - if this is an instance of `EntityBlockParams` it is used to determine whether or not an `EntityCollection` is returned by this method.
      Returns:
        An `EntityCollection` containing a chart entity for the title, or `null`.

    - #### drawHorizontal

          protected void drawHorizontal(java.awt.Graphics2D g2,
                                        java.awt.geom.Rectangle2D area)

      Draws a the title horizontally within the specified area. This method will be called from the `draw` method.
      Parameters:
        `g2` - the graphics device.
        `area` - the area for the title.

    - #### drawVertical

          protected void drawVertical(java.awt.Graphics2D g2,
                                      java.awt.geom.Rectangle2D area)

      Draws a the title vertically within the specified area. This method will be called from the `draw` method.
      Parameters:
        `g2` - the graphics device.
        `area` - the area for the title.

    - #### equals

          public boolean equals(java.lang.Object obj)

      Tests this title for equality with another object.
      Overrides:
        `equals` in class `Title`
      Parameters:
        `obj` - the object (`null` permitted).
      Returns:
        `true` or `false`.

    - #### hashCode

          public int hashCode()

      Returns a hash code.
      Overrides:
        `hashCode` in class `Title`
      Returns:
        A hash code.

    - #### clone

          public java.lang.Object clone()
                                 throws java.lang.CloneNotSupportedException

      Returns a clone of this object.
      Specified by:
        `clone` in interface `PublicCloneable`
      Overrides:
        `clone` in class `Title`
      Returns:
        A clone.
      Throws:
        `java.lang.CloneNotSupportedException` - never.