Class TextTitle

All Implemented Interfaces:
Serializable, Cloneable, Block, Drawable, PublicCloneable
Direct Known Subclasses:
DateTitle, ShortTextTitle

public class TextTitle extends Title implements Serializable, Cloneable, PublicCloneable
A chart title that displays a text string with automatic wrapping as required.
See Also:
  • Field Details

  • Constructor Details

    • TextTitle

      public TextTitle()
      Creates a new title, using default attributes where necessary.
    • TextTitle

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

      public TextTitle(String text, 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(String text, Font font, 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 Details

    • getText

      public String getText()
      Returns the title text.
      Returns:
      The text (never null).
      See Also:
    • setText

      public void setText(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

      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 Font getFont()
      Returns the font used to display the title string.
      Returns:
      The font (never null).
      See Also:
    • setFont

      public void setFont(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:
    • getPaint

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

      public void setPaint(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:
    • getBackgroundPaint

      Returns the background paint.
      Returns:
      The paint (possibly null).
    • setBackgroundPaint

      public void setBackgroundPaint(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

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

      public void setToolTipText(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 String getURLText()
      Returns the URL text.
      Returns:
      The URL text (possibly null).
    • setURLText

      public void setURLText(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

      Returns the maximum number of lines to display.
      Returns:
      The maximum.
      See Also:
    • 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.
      See Also:
    • arrange

      public Size2D arrange(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(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.
    • arrangeFN

      protected Size2D arrangeFN(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.
    • arrangeRN

      protected Size2D arrangeRN(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.
    • arrangeRR

      protected Size2D arrangeRR(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(Graphics2D g2, 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 Object draw(Graphics2D g2, Rectangle2D area, 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(Graphics2D g2, 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(Graphics2D g2, 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(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.
    • canEqual

      public boolean canEqual(Object other)
      Ensures symmetry between super/subclass implementations of equals. For more detail, see http://jqno.nl/equalsverifier/manual/inheritance.
      Overrides:
      canEqual in class Title
      Parameters:
      other - Object
      Returns:
      true ONLY if the parameter is THIS class type
    • hashCode

      public int hashCode()
      Returns a hash code.
      Overrides:
      hashCode in class Title
      Returns:
      A hash code.
    • clone

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