org.jfree.chart.title
Class ImageTitle

java.lang.Object
  extended byorg.jfree.chart.title.Title
      extended byorg.jfree.chart.title.ImageTitle
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

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 recomended 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.

Author:
David Berry
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jfree.chart.title.Title
BOTTOM, CENTER, DEFAULT_HORIZONTAL_ALIGNMENT, DEFAULT_POSITION, DEFAULT_SPACER, DEFAULT_VERTICAL_ALIGNMENT, EAST, LEFT, MIDDLE, NORTH, RIGHT, SOUTH, TOP, WEST
 
Constructor Summary
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, Spacer spacer)
          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
 void draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D titleArea)
          Draws the title on a Java 2D graphics device (such as the screen or a printer).
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).
 java.awt.Image getImage()
          Returns the image for the title.
 float getPreferredHeight(java.awt.Graphics2D g2, float width)
          Returns the preferred height of the title.
 float getPreferredWidth(java.awt.Graphics2D g2, float height)
          Returns the preferred width of the title.
 boolean isValidPosition(int position)
          Returns true for all positions, since an image can be displayed anywhere.
 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, equals, getHorizontalAlignment, getNotify, getPosition, getSpacer, getVerticalAlignment, notifyListeners, removeChangeListener, setHorizontalAlignment, setNotify, setPosition, setSpacer, setVerticalAlignment
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImageTitle

public ImageTitle(java.awt.Image image)
Creates a new image title.

Parameters:
image - the image.

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.
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,
                  Spacer spacer)
Creates a new image title with the given image scaled to the given width and height in the given location.

Parameters:
image - the image (not null).
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.
spacer - 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.

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).

draw

public void draw(java.awt.Graphics2D g2,
                 java.awt.geom.Rectangle2D titleArea)
Draws the title on a Java 2D graphics device (such as the screen or a printer).

Specified by:
draw in class Title
Parameters:
g2 - the graphics device.
titleArea - the area within which the title (and plot) should be drawn.

isValidPosition

public boolean isValidPosition(int position)
Returns true for all positions, since an image can be displayed anywhere.

Parameters:
position - the title position (LEFT, RIGHT, TOP, BOTTOM).
Returns:
true if the position is LEFT, RIGHT, TOP or BOTTOM.

getPreferredWidth

public float getPreferredWidth(java.awt.Graphics2D g2,
                               float height)
Returns the preferred width of the title.

Specified by:
getPreferredWidth in class Title
Parameters:
g2 - the graphics device.
height - the height (ignored).
Returns:
the preferred width of the title.

getPreferredHeight

public float getPreferredHeight(java.awt.Graphics2D g2,
                                float width)
Returns the preferred height of the title.

Specified by:
getPreferredHeight in class Title
Parameters:
g2 - the graphics device.
width - the width (ignored).
Returns:
the preferred height of 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 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 area used by the title.