org.jfree.chart.title

## Class ImageTitle

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

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Block, org.jfree.ui.Drawable

    public class ImageTitle
    extends Title

A chart title that displays an image. This is useful, for example, if you have an image of your corporate logo and want to use as a footnote or part of a title in a chart you create.

ImageTitle needs an image passed to it in the constructor. For ImageTitle to work, you must have already loaded this image from its source (disk or URL). It is recommended you use something like Toolkit.getDefaultToolkit().getImage() to get the image. Then, use MediaTracker or some other message to make sure the image is fully loaded from disk.

SPECIAL NOTE: this class fails to serialize, so if you are relying on your charts to be serializable, please avoid using this class.

See Also:
  Serialized Form

### Field Summary

### 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
`ImageTitle(java.awt.Image image)` Creates a new image title.
`ImageTitle(java.awt.Image image, int height, int width, org.jfree.ui.RectangleEdge position, org.jfree.ui.HorizontalAlignment horizontalAlignment, org.jfree.ui.VerticalAlignment verticalAlignment, org.jfree.ui.RectangleInsets padding)` Creates a new image title with the given image scaled to the given width and height in the given location.
`ImageTitle(java.awt.Image image, org.jfree.ui.RectangleEdge position, org.jfree.ui.HorizontalAlignment horizontalAlignment, org.jfree.ui.VerticalAlignment verticalAlignment)` Creates a new image title.

### Method Summary

Methods
`org.jfree.ui.Size2D` `arrange(java.awt.Graphics2D g2, RectangleConstraint constraint)` Arranges the contents of the block, within the given constraints, and returns the block size.
`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 org.jfree.ui.Size2D` `drawHorizontal(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D chartArea)` Draws the title on a Java 2D graphics device (such as the screen or a printer).
`protected org.jfree.ui.Size2D` `drawVertical(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D chartArea)` Draws the title on a Java 2D graphics device (such as the screen or a printer).
`boolean` `equals(java.lang.Object obj)` Tests this `ImageTitle` for equality with an arbitrary object.
`java.awt.Image` `getImage()` Returns the image for the title.
`void` `setImage(java.awt.Image image)` Sets the image for the title and notifies registered listeners that the title has been modified.

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

`addChangeListener, clone, getHorizontalAlignment, getNotify, getPosition, getVerticalAlignment, hashCode, 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`

### Constructor Detail

#### ImageTitle

    public ImageTitle(java.awt.Image image)

Creates a new image title.

Parameters:
  `image` - the image (`null` not permitted).

#### ImageTitle

    public ImageTitle(java.awt.Image image,
              org.jfree.ui.RectangleEdge position,
              org.jfree.ui.HorizontalAlignment horizontalAlignment,
              org.jfree.ui.VerticalAlignment verticalAlignment)

Creates a new image title.

Parameters:
  `image` - the image (`null` not permitted).
  `position` - the title position.
  `horizontalAlignment` - the horizontal alignment.
  `verticalAlignment` - the vertical alignment.

#### ImageTitle

    public ImageTitle(java.awt.Image image,
              int height,
              int width,
              org.jfree.ui.RectangleEdge position,
              org.jfree.ui.HorizontalAlignment horizontalAlignment,
              org.jfree.ui.VerticalAlignment verticalAlignment,
              org.jfree.ui.RectangleInsets padding)

Creates a new image title with the given image scaled to the given width and height in the given location.

Parameters:
  `image` - the image (`null` not permitted).
  `height` - the height used to draw the image.
  `width` - the width used to draw the image.
  `position` - the title position.
  `horizontalAlignment` - the horizontal alignment.
  `verticalAlignment` - the vertical alignment.
  `padding` - the amount of space to leave around the outside of the title.

### Method Detail

#### getImage

    public java.awt.Image getImage()

Returns the image for the title.

Returns:
  The image for the title (never `null`).

#### setImage

    public void setImage(java.awt.Image image)

Sets the image for the title and notifies registered listeners that the title has been modified.

Parameters:
  `image` - the new image (`null` not permitted).

#### arrange

    public org.jfree.ui.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`).

#### 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 `org.jfree.ui.Drawable`
Specified by:
  `draw` in class `Title`
Parameters:
  `g2` - the graphics device.
  `area` - the area allocated for the title.

#### drawHorizontal

    protected org.jfree.ui.Size2D drawHorizontal(java.awt.Graphics2D g2,
                                     java.awt.geom.Rectangle2D chartArea)

Draws the title on a Java 2D graphics device (such as the screen or a printer).

Parameters:
  `g2` - the graphics device.
  `chartArea` - the area within which the title (and plot) should be drawn.
Returns:
  The size of the area used by the title.

#### drawVertical

    protected org.jfree.ui.Size2D drawVertical(java.awt.Graphics2D g2,
                                   java.awt.geom.Rectangle2D chartArea)

Draws the title on a Java 2D graphics device (such as the screen or a printer).

Parameters:
  `g2` - the graphics device.
  `chartArea` - the area within which the title (and plot) should be drawn.
Returns:
  The size of the area used by 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.

Parameters:
  `g2` - the graphics device.
  `area` - the area.
  `params` - ignored (`null` permitted).
Returns:
  Always `null`.

#### equals

    public boolean equals(java.lang.Object obj)

Tests this `ImageTitle` for equality with an arbitrary object. Returns `true` if:

- `obj` is an instance of `ImageTitle`;
- `obj` references the same image as this `ImageTitle`;
- `super.equals(obj)`returns `true`;``

Overrides:
  `equals` in class `Title`
Parameters:
  `obj` - the object (`null` permitted).
Returns:
  A boolean.