Save This Page
Home » jcommon-1.0.13 » org.jfree » chart » [javadoc | source]
org.jfree.chart
public class: JFreeChart [javadoc | source]
java.lang.Object
   org.jfree.chart.JFreeChart

All Implemented Interfaces:
    Cloneable, TitleChangeListener, Drawable, Serializable, PlotChangeListener

A chart class implemented using the Java 2D APIs. The current version supports bar charts, line charts, pie charts and xy plots (including time series data).

JFreeChart coordinates several objects to achieve its aim of being able to draw a chart on a Java 2D graphics device: a list of Title objects (which often includes the chart's legend), a Plot and a org.jfree.data.general.Dataset (the plot in turn manages a domain axis and a range axis).

You should use a ChartPanel to display a chart in a GUI.

The ChartFactory class contains static methods for creating 'ready-made' charts.

Field Summary
public static final  ProjectInfo INFO    Information about the project. 
public static final  Font DEFAULT_TITLE_FONT    The default font for titles. 
public static final  Paint DEFAULT_BACKGROUND_PAINT    The default background color. 
public static final  Image DEFAULT_BACKGROUND_IMAGE    The default background image. 
public static final  int DEFAULT_BACKGROUND_IMAGE_ALIGNMENT    The default background image alignment. 
public static final  float DEFAULT_BACKGROUND_IMAGE_ALPHA    The default background image alpha. 
Constructor:
 public JFreeChart(Plot plot) 
    Creates a new chart based on the supplied plot. The chart will have a legend added automatically, but no title (although you can easily add one later).

    Note that the ChartFactory class contains a range of static methods that will return ready-made charts, and often this is a more convenient way to create charts than using this constructor.
    Parameters:
    plot - the plot (null not permitted).
 public JFreeChart(String title,
    Plot plot) 
    Creates a new chart with the given title and plot. A default font (#DEFAULT_TITLE_FONT ) is used for the title, and the chart will have a legend added automatically.

    Note that the ChartFactory class contains a range of static methods that will return ready-made charts, and often this is a more convenient way to create charts than using this constructor.
    Parameters:
    title - the chart title (null permitted).
    plot - the plot (null not permitted).
 public JFreeChart(String title,
    Font titleFont,
    Plot plot,
    boolean createLegend) 
    Creates a new chart with the given title and plot. The createLegend argument specifies whether or not a legend should be added to the chart.

    Note that the ChartFactory class contains a range of static methods that will return ready-made charts, and often this is a more convenient way to create charts than using this constructor.
    Parameters:
    title - the chart title (null permitted).
    titleFont - the font for displaying the chart title (null permitted).
    plot - controller of the visual representation of the data (null not permitted).
    createLegend - a flag indicating whether or not a legend should be created for the chart.
Method from org.jfree.chart.JFreeChart Summary:
addChangeListener,   addLegend,   addProgressListener,   addSubtitle,   addSubtitle,   clearSubtitles,   clone,   createBufferedImage,   createBufferedImage,   createBufferedImage,   createBufferedImage,   draw,   draw,   draw,   drawTitle,   equals,   fireChartChanged,   getAntiAlias,   getBackgroundImage,   getBackgroundImageAlignment,   getBackgroundImageAlpha,   getBackgroundPaint,   getBorderPaint,   getBorderStroke,   getCategoryPlot,   getLegend,   getLegend,   getPadding,   getPlot,   getRenderingHints,   getSubtitle,   getSubtitleCount,   getSubtitles,   getTextAntiAlias,   getTitle,   getXYPlot,   handleClick,   isBorderVisible,   isNotify,   main,   notifyListeners,   notifyListeners,   plotChanged,   removeChangeListener,   removeLegend,   removeProgressListener,   removeSubtitle,   setAntiAlias,   setBackgroundImage,   setBackgroundImageAlignment,   setBackgroundImageAlpha,   setBackgroundPaint,   setBorderPaint,   setBorderStroke,   setBorderVisible,   setNotify,   setPadding,   setRenderingHints,   setSubtitles,   setTextAntiAlias,   setTextAntiAlias,   setTitle,   setTitle,   titleChanged
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.jfree.chart.JFreeChart Detail:
 public  void addChangeListener(ChartChangeListener listener) 
    Registers an object for notification of changes to the chart.
 public  void addLegend(LegendTitle legend) 
    Adds a legend to the plot and sends a ChartChangeEvent to all registered listeners.
 public  void addProgressListener(ChartProgressListener listener) 
    Registers an object for notification of progress events relating to the chart.
 public  void addSubtitle(Title subtitle) 
    Adds a chart subtitle, and notifies registered listeners that the chart has been modified.
 public  void addSubtitle(int index,
    Title subtitle) 
    Adds a subtitle at a particular position in the subtitle list, and sends a ChartChangeEvent to all registered listeners.
 public  void clearSubtitles() 
    Clears all subtitles from the chart and sends a ChartChangeEvent to all registered listeners.
 public Object clone() throws CloneNotSupportedException 
    Clones the object, and takes care of listeners. Note: caller shall register its own listeners on cloned graph.
 public BufferedImage createBufferedImage(int width,
    int height) 
    Creates and returns a buffered image into which the chart has been drawn.
 public BufferedImage createBufferedImage(int width,
    int height,
    ChartRenderingInfo info) 
    Creates and returns a buffered image into which the chart has been drawn.
 public BufferedImage createBufferedImage(int width,
    int height,
    int imageType,
    ChartRenderingInfo info) 
    Creates and returns a buffered image into which the chart has been drawn.
 public BufferedImage createBufferedImage(int imageWidth,
    int imageHeight,
    double drawWidth,
    double drawHeight,
    ChartRenderingInfo info) 
    Creates and returns a buffered image into which the chart has been drawn.
 public  void draw(Graphics2D g2,
    Rectangle2D area) 
    Draws the chart on a Java 2D graphics device (such as the screen or a printer).

    This method is the focus of the entire JFreeChart library.

 public  void draw(Graphics2D g2,
    Rectangle2D area,
    ChartRenderingInfo info) 
    Draws the chart on a Java 2D graphics device (such as the screen or a printer). This method is the focus of the entire JFreeChart library.
 public  void draw(Graphics2D g2,
    Rectangle2D chartArea,
    Point2D anchor,
    ChartRenderingInfo info) 
    Draws the chart on a Java 2D graphics device (such as the screen or a printer).

    This method is the focus of the entire JFreeChart library.

 protected EntityCollection drawTitle(Title t,
    Graphics2D g2,
    Rectangle2D area,
    boolean entities) 
    Draws a title. The title should be drawn at the top, bottom, left or right of the specified area, and the area should be updated to reflect the amount of space used by the title.
 public boolean equals(Object obj) 
    Tests this chart for equality with another object.
 public  void fireChartChanged() 
    Sends a default ChartChangeEvent to all registered listeners.

    This method is for convenience only.

 public boolean getAntiAlias() 
    Returns a flag that indicates whether or not anti-aliasing is used when the chart is drawn.
 public Image getBackgroundImage() 
    Returns the background image for the chart, or null if there is no image.
 public int getBackgroundImageAlignment() 
    Returns the background image alignment. Alignment constants are defined in the org.jfree.ui.Align class in the JCommon class library.
 public float getBackgroundImageAlpha() 
    Returns the alpha-transparency for the chart's background image.
 public Paint getBackgroundPaint() 
    Returns the paint used for the chart background.
 public Paint getBorderPaint() 
    Returns the paint used to draw the chart border (if visible).
 public Stroke getBorderStroke() 
    Returns the stroke used to draw the chart border (if visible).
 public CategoryPlot getCategoryPlot() 
    Returns the plot cast as a CategoryPlot .

    NOTE: if the plot is not an instance of CategoryPlot , then a ClassCastException is thrown.

 public LegendTitle getLegend() 
    Returns the legend for the chart, if there is one. Note that a chart can have more than one legend - this method returns the first.
 public LegendTitle getLegend(int index) 
    Returns the nth legend for a chart, or null.
 public RectangleInsets getPadding() 
    Returns the padding between the chart border and the chart drawing area.
 public Plot getPlot() 
    Returns the plot for the chart. The plot is a class responsible for coordinating the visual representation of the data, including the axes (if any).
 public RenderingHints getRenderingHints() 
    Returns the collection of rendering hints for the chart.
 public Title getSubtitle(int index) 
    Returns a chart subtitle.
 public int getSubtitleCount() 
    Returns the number of titles for the chart.
 public List getSubtitles() 
    Returns the list of subtitles for the chart.
 public Object getTextAntiAlias() 
 public TextTitle getTitle() 
    Returns the main chart title. Very often a chart will have just one title, so we make this case simple by providing accessor methods for the main title. However, multiple titles are supported - see the #addSubtitle(Title) method.
 public XYPlot getXYPlot() 
    Returns the plot cast as an XYPlot .

    NOTE: if the plot is not an instance of XYPlot , then a ClassCastException is thrown.

 public  void handleClick(int x,
    int y,
    ChartRenderingInfo info) 
    Handles a 'click' on the chart. JFreeChart is not a UI component, so some other object (for example, ChartPanel ) needs to capture the click event and pass it onto the JFreeChart object. If you are not using JFreeChart in a client application, then this method is not required.
 public boolean isBorderVisible() 
    Returns a flag that controls whether or not a border is drawn around the outside of the chart.
 public boolean isNotify() 
    Returns a flag that controls whether or not change events are sent to registered listeners.
 public static  void main(String[] args) 
    Prints information about JFreeChart to standard output.
 protected  void notifyListeners(ChartChangeEvent event) 
 protected  void notifyListeners(ChartProgressEvent event) 
 public  void plotChanged(PlotChangeEvent event) 
    Receives notification that the plot has changed, and passes this on to registered listeners.
 public  void removeChangeListener(ChartChangeListener listener) 
    Deregisters an object for notification of changes to the chart.
 public  void removeLegend() 
    Removes the first legend in the chart and sends a ChartChangeEvent to all registered listeners.
 public  void removeProgressListener(ChartProgressListener listener) 
    Deregisters an object for notification of changes to the chart.
 public  void removeSubtitle(Title title) 
    Removes the specified subtitle and sends a ChartChangeEvent to all registered listeners.
 public  void setAntiAlias(boolean flag) 
    Sets a flag that indicates whether or not anti-aliasing is used when the chart is drawn.

    Anti-aliasing usually improves the appearance of charts, but is slower.

 public  void setBackgroundImage(Image image) 
    Sets the background image for the chart and sends a ChartChangeEvent to all registered listeners.
 public  void setBackgroundImageAlignment(int alignment) 
    Sets the background alignment. Alignment options are defined by the org.jfree.ui.Align class.
 public  void setBackgroundImageAlpha(float alpha) 
    Sets the alpha-transparency for the chart's background image. Registered listeners are notified that the chart has been changed.
 public  void setBackgroundPaint(Paint paint) 
    Sets the paint used to fill the chart background and sends a ChartChangeEvent to all registered listeners.
 public  void setBorderPaint(Paint paint) 
    Sets the paint used to draw the chart border (if visible).
 public  void setBorderStroke(Stroke stroke) 
    Sets the stroke used to draw the chart border (if visible).
 public  void setBorderVisible(boolean visible) 
    Sets a flag that controls whether or not a border is drawn around the outside of the chart.
 public  void setNotify(boolean notify) 
    Sets a flag that controls whether or not listeners receive ChartChangeEvent notifications.
 public  void setPadding(RectangleInsets padding) 
    Sets the padding between the chart border and the chart drawing area, and sends a ChartChangeEvent to all registered listeners.
 public  void setRenderingHints(RenderingHints renderingHints) 
    Sets the rendering hints for the chart. These will be added (using the Graphics2D.addRenderingHints() method) near the start of the JFreeChart.draw() method.
 public  void setSubtitles(List subtitles) 
    Sets the title list for the chart (completely replaces any existing titles) and sends a ChartChangeEvent to all registered listeners.
 public  void setTextAntiAlias(boolean flag) 
 public  void setTextAntiAlias(Object val) 
 public  void setTitle(TextTitle title) 
    Sets the main title for the chart and sends a ChartChangeEvent to all registered listeners. If you do not want a title for the chart, set it to null. If you want more than one title on a chart, use the #addSubtitle(Title) method.
 public  void setTitle(String text) 
    Sets the chart title and sends a ChartChangeEvent to all registered listeners. This is a convenience method that ends up calling the #setTitle(TextTitle) method. If there is an existing title, its text is updated, otherwise a new title using the default font is added to the chart. If text is null the chart title is set to null.
 public  void titleChanged(TitleChangeEvent event) 
    Receives notification that a chart title has changed, and passes this on to registered listeners.