org.jfree.chart
public class ChartPanel extends JPanel implements ChartChangeListener, ChartProgressListener, ActionListener, MouseListener, MouseMotionListener, Printable, Serializable
The panel registers with the chart to receive notification of changes to any component of the chart. The chart is redrawn automatically whenever this notification is received.
Field Summary | |
---|---|
static boolean | DEFAULT_BUFFER_USED Default setting for buffer usage. |
static int | DEFAULT_HEIGHT The default panel height. |
static int | DEFAULT_MAXIMUM_DRAW_HEIGHT The default limit below which chart scaling kicks in. |
static int | DEFAULT_MAXIMUM_DRAW_WIDTH The default limit below which chart scaling kicks in. |
static int | DEFAULT_MINIMUM_DRAW_HEIGHT The default limit below which chart scaling kicks in. |
static int | DEFAULT_MINIMUM_DRAW_WIDTH The default limit below which chart scaling kicks in. |
static int | DEFAULT_WIDTH The default panel width. |
static int | DEFAULT_ZOOM_TRIGGER_DISTANCE The minimum size required to perform a zoom on a rectangle |
protected static ResourceBundle | localizationResources The resourceBundle for the localization. |
static String | PRINT_COMMAND Print action command. |
static String | PROPERTIES_COMMAND Properties action command. |
static String | SAVE_COMMAND Save action command. |
static String | ZOOM_IN_BOTH_COMMAND Zoom in (both axes) action command. |
static String | ZOOM_IN_DOMAIN_COMMAND Zoom in (domain axis only) action command. |
static String | ZOOM_IN_RANGE_COMMAND Zoom in (range axis only) action command. |
static String | ZOOM_OUT_BOTH_COMMAND Zoom out (both axes) action command. |
static String | ZOOM_OUT_DOMAIN_COMMAND Zoom out (domain axis only) action command. |
static String | ZOOM_OUT_RANGE_COMMAND Zoom out (range axis only) action command. |
static String | ZOOM_RESET_BOTH_COMMAND Zoom reset (both axes) action command. |
static String | ZOOM_RESET_DOMAIN_COMMAND Zoom reset (domain axis only) action command. |
static String | ZOOM_RESET_RANGE_COMMAND Zoom reset (range axis only) action command. |
Constructor Summary | |
---|---|
ChartPanel(JFreeChart chart)
Constructs a panel that displays the specified chart.
| |
ChartPanel(JFreeChart chart, boolean useBuffer)
Constructs a panel containing a chart.
| |
ChartPanel(JFreeChart chart, boolean properties, boolean save, boolean print, boolean zoom, boolean tooltips)
Constructs a JFreeChart panel.
| |
ChartPanel(JFreeChart chart, int width, int height, int minimumDrawWidth, int minimumDrawHeight, int maximumDrawWidth, int maximumDrawHeight, boolean useBuffer, boolean properties, boolean save, boolean print, boolean zoom, boolean tooltips)
Constructs a JFreeChart panel.
|
Method Summary | |
---|---|
void | actionPerformed(ActionEvent event)
Handles action events generated by the popup menu.
|
void | addChartMouseListener(ChartMouseListener listener)
Adds a listener to the list of objects listening for chart mouse events.
|
void | chartChanged(ChartChangeEvent event)
Receives notification of changes to the chart, and redraws the chart.
|
void | chartProgress(ChartProgressEvent event)
Receives notification of a chart progress event.
|
void | createChartPrintJob()
Creates a print job for the chart. |
protected JPopupMenu | createPopupMenu(boolean properties, boolean save, boolean print, boolean zoom)
Creates a popup menu for the panel.
|
protected void | displayPopupMenu(int x, int y)
The idea is to modify the zooming options depending on the type of chart
being displayed by the panel.
|
void | doEditChartProperties()
Displays a dialog that allows the user to edit the properties for the
current chart.
|
void | doSaveAs()
Opens a file chooser and gives the user an opportunity to save the chart
in PNG format.
|
Point2D | getAnchor()
Returns the anchor point.
|
JFreeChart | getChart()
Returns the chart contained in the panel.
|
ChartRenderingInfo | getChartRenderingInfo()
Returns the chart rendering info from the most recent chart redraw.
|
File | getDefaultDirectoryForSaveAs()
Returns the default directory for the "save as" option.
|
int | getDismissDelay()
Returns the dismissal tooltip delay value used inside this chart panel.
|
ChartEntity | getEntityForPoint(int viewX, int viewY)
Returns the chart entity at a given point.
|
boolean | getFillZoomRectangle()
Returns the flag that controls whether or not the zoom rectangle is
filled when drawn.
|
boolean | getHorizontalAxisTrace()
Returns the flag that controls whether or not a horizontal axis trace
line is drawn over the plot area at the current mouse location.
|
protected Line2D | getHorizontalTraceLine()
Returns the horizontal trace line.
|
int | getInitialDelay()
Returns the initial tooltip delay value used inside this chart panel.
|
EventListener[] | getListeners(Class listenerType)
Returns an array of the listeners of the given type registered with the
panel.
|
int | getMaximumDrawHeight()
Returns the maximum drawing height for charts.
|
int | getMaximumDrawWidth()
Returns the maximum drawing width for charts.
|
int | getMinimumDrawHeight()
Returns the minimum drawing height for charts.
|
int | getMinimumDrawWidth()
Returns the minimum drawing width for charts.
|
JPopupMenu | getPopupMenu()
Returns the popup menu.
|
boolean | getRefreshBuffer()
Returns the flag that controls whether or not the offscreen buffer
needs to be refreshed.
|
int | getReshowDelay()
Returns the reshow tooltip delay value used inside this chart panel.
|
double | getScaleX()
Returns the X scale factor for the chart. |
double | getScaleY()
Returns the Y scale factory for the chart. |
Rectangle2D | getScreenDataArea()
Returns the data area for the chart (the area inside the axes) with the
current scaling applied (that is, the area as it appears on screen).
|
Rectangle2D | getScreenDataArea(int x, int y)
Returns the data area (the area inside the axes) for the plot or subplot,
with the current scaling applied.
|
String | getToolTipText(MouseEvent e)
Returns a string for the tooltip.
|
boolean | getVerticalAxisTrace()
Returns the flag that controls whether or not a vertical axis trace
line is drawn over the plot area at the current mouse location.
|
protected Line2D | getVerticalTraceLine()
Returns the vertical trace line.
|
boolean | getZoomAroundAnchor()
Returns the flag that controls whether or not zoom operations are
centered around the current anchor point.
|
double | getZoomInFactor()
Returns the zoom in factor.
|
double | getZoomOutFactor()
Returns the zoom out factor.
|
int | getZoomTriggerDistance()
Returns the zoom trigger distance. |
boolean | isDomainZoomable()
Returns the flag that determines whether or not zooming is enabled for
the domain axis.
|
boolean | isEnforceFileExtensions()
Returns true if file extensions should be enforced, and
false otherwise.
|
boolean | isRangeZoomable()
Returns the flag that determines whether or not zooming is enabled for
the range axis.
|
void | mouseClicked(MouseEvent event)
Receives notification of mouse clicks on the panel. |
void | mouseDragged(MouseEvent e)
Handles a 'mouse dragged' event.
|
void | mouseEntered(MouseEvent e)
Handles a 'mouse entered' event. |
void | mouseExited(MouseEvent e)
Handles a 'mouse exited' event. |
void | mouseMoved(MouseEvent e)
Implementation of the MouseMotionListener's method.
|
void | mousePressed(MouseEvent e)
Handles a 'mouse pressed' event.
|
void | mouseReleased(MouseEvent e)
Handles a 'mouse released' event. |
void | paintComponent(Graphics g)
Paints the component by drawing the chart to fill the entire component,
but allowing for the insets (which will be non-zero if a border has been
set for this component). |
int | print(Graphics g, PageFormat pf, int pageIndex)
Prints the chart on a single page.
|
void | removeChartMouseListener(ChartMouseListener listener)
Removes a listener from the list of objects listening for chart mouse
events.
|
void | restoreAutoBounds()
Restores the auto-range calculation on both axes. |
void | restoreAutoDomainBounds()
Restores the auto-range calculation on the domain axis. |
void | restoreAutoRangeBounds()
Restores the auto-range calculation on the range axis. |
Rectangle2D | scale(Rectangle2D rect)
Applies any scaling that is in effect for the chart drawing to the
given rectangle.
|
protected void | setAnchor(Point2D anchor)
Sets the anchor point. |
void | setChart(JFreeChart chart)
Sets the chart that is displayed in the panel.
|
void | setDefaultDirectoryForSaveAs(File directory)
Sets the default directory for the "save as" option. |
void | setDismissDelay(int delay)
Specifies the dismissal delay value for this chart panel.
|
void | setDisplayToolTips(boolean flag)
Switches the display of tooltips for the panel on or off. |
void | setDomainZoomable(boolean flag)
Sets the flag that controls whether or not zooming is enable for the
domain axis. |
void | setEnforceFileExtensions(boolean enforce)
Sets a flag that controls whether or not file extensions are enforced.
|
void | setFillZoomRectangle(boolean flag)
A flag that controls how the zoom rectangle is drawn.
|
void | setHorizontalAxisTrace(boolean flag)
A flag that controls trace lines on the horizontal axis.
|
protected void | setHorizontalTraceLine(Line2D line)
Sets the horizontal trace line.
|
void | setInitialDelay(int delay)
Specifies the initial delay value for this chart panel.
|
void | setMaximumDrawHeight(int height)
Sets the maximum drawing height for the chart on this panel.
|
void | setMaximumDrawWidth(int width)
Sets the maximum drawing width for the chart on this panel.
|
void | setMinimumDrawHeight(int height)
Sets the minimum drawing height for the chart on this panel.
|
void | setMinimumDrawWidth(int width)
Sets the minimum drawing width for the chart on this panel.
|
void | setMouseZoomable(boolean flag)
A convenience method that switches on mouse-based zooming.
|
void | setMouseZoomable(boolean flag, boolean fillRectangle)
A convenience method that switches on mouse-based zooming.
|
void | setPopupMenu(JPopupMenu popup)
Sets the popup menu for the panel.
|
void | setRangeZoomable(boolean flag)
A flag that controls mouse-based zooming on the vertical axis.
|
void | setRefreshBuffer(boolean flag)
Sets the refresh buffer flag. |
void | setReshowDelay(int delay)
Specifies the amount of time before the user has to wait initialDelay
milliseconds before a tooltip will be shown.
|
void | setVerticalAxisTrace(boolean flag)
A flag that controls trace lines on the vertical axis.
|
protected void | setVerticalTraceLine(Line2D line)
Sets the vertical trace line.
|
void | setZoomAroundAnchor(boolean zoomAroundAnchor)
Sets the flag that controls whether or not zoom operations are
centered around the current anchor point.
|
void | setZoomInFactor(double factor)
Sets the zoom in factor.
|
void | setZoomOutFactor(double factor)
Sets the zoom out factor.
|
void | setZoomTriggerDistance(int distance)
Sets the zoom trigger distance. |
Point | translateJava2DToScreen(Point2D java2DPoint)
Translates a Java2D point on the chart to a screen location.
|
Point2D | translateScreenToJava2D(Point screenPoint)
Translates a panel (component) location to a Java2D point.
|
void | updateUI() |
void | zoom(Rectangle2D selection)
Zooms in on a selected region.
|
void | zoomInBoth(double x, double y)
Zooms in on an anchor point (specified in screen coordinate space).
|
void | zoomInDomain(double x, double y)
Decreases the length of the domain axis, centered about the given
coordinate on the screen. |
void | zoomInRange(double x, double y)
Decreases the length of the range axis, centered about the given
coordinate on the screen. |
void | zoomOutBoth(double x, double y)
Zooms out on an anchor point (specified in screen coordinate space).
|
void | zoomOutDomain(double x, double y)
Increases the length of the domain axis, centered about the given
coordinate on the screen. |
void | zoomOutRange(double x, double y)
Increases the length the range axis, centered about the given
coordinate on the screen. |
Parameters: chart the chart.
Parameters: chart the chart. useBuffer a flag controlling whether or not an off-screen buffer is used.
Parameters: chart the chart. properties a flag indicating whether or not the chart property editor should be available via the popup menu. save a flag indicating whether or not save options should be available via the popup menu. print a flag indicating whether or not the print option should be available via the popup menu. zoom a flag indicating whether or not zoom options should be added to the popup menu. tooltips a flag indicating whether or not tooltips should be enabled for the chart.
Parameters: chart the chart. width the preferred width of the panel. height the preferred height of the panel. minimumDrawWidth the minimum drawing width. minimumDrawHeight the minimum drawing height. maximumDrawWidth the maximum drawing width. maximumDrawHeight the maximum drawing height. useBuffer a flag that indicates whether to use the off-screen buffer to improve performance (at the expense of memory). properties a flag indicating whether or not the chart property editor should be available via the popup menu. save a flag indicating whether or not save options should be available via the popup menu. print a flag indicating whether or not the print option should be available via the popup menu. zoom a flag indicating whether or not zoom options should be added to the popup menu. tooltips a flag indicating whether or not tooltips should be enabled for the chart.
Parameters: event the event.
Parameters: listener the listener (null
not permitted).
Parameters: event details of the chart change event.
Parameters: event the event.
Parameters: properties include a menu item for the chart property editor. save include a menu item for saving the chart. print include a menu item for printing the chart. zoom include menu items for zooming.
Returns: The popup menu.
Parameters: x horizontal position of the popup. y vertical position of the popup.
Since: 1.0.3
Throws: IOException if there is an I/O error.
Returns: The anchor point (possibly null
).
Returns: The chart (possibly null
).
Returns: The chart rendering info.
Returns: The default directory (possibly null
).
Since: 1.0.7
Returns: An integer representing the dismissal delay value, in milliseconds.
See Also: javax.swing.ToolTipManager#getDismissDelay()
This method will return null if there is (a) no entity at the given point, or (b) no entity collection has been generated.
Parameters: viewX the x-coordinate. viewY the y-coordinate.
Returns: The chart entity (possibly null
).
Returns: A boolean.
Returns: A boolean.
Returns: The horizontal trace line (possibly null
).
Returns: An integer representing the initial delay value, in milliseconds.
See Also: javax.swing.ToolTipManager#getInitialDelay()
Parameters: listenerType the listener type.
Returns: An array of listeners.
If the height available on the panel is greater than this, then the chart is drawn at the maximum height then scaled up to fit.
Returns: The maximum drawing height.
If the width available on the panel is greater than this, then the chart is drawn at the maximum width then scaled up to fit.
Returns: The maximum drawing width.
If the height available on the panel is less than this, then the chart is drawn at the minimum height then scaled down to fit.
Returns: The minimum drawing height.
If the width available on the panel is less than this, then the chart is drawn at the minimum width then scaled down to fit.
Returns: The minimum drawing width.
Returns: The popup menu.
Returns: A boolean.
Returns: An integer representing the reshow delay value, in milliseconds.
See Also: javax.swing.ToolTipManager#getReshowDelay()
Returns: The scale factor.
Returns: The scale factor.
Returns: The scaled data area.
Parameters: x the x-coordinate (for subplot selection). y the y-coordinate (for subplot selection).
Returns: The scaled data area.
Parameters: e the mouse event.
Returns: A tool tip or null
if no tooltip is available.
Returns: A boolean.
Returns: The vertical trace line (possibly null
).
Returns: A boolean.
Since: 1.0.7
See Also: ChartPanel
Returns: The zoom in factor.
See Also: ChartPanel
Returns: The zoom out factor.
See Also: ChartPanel
Returns: The distance (in Java2D units).
Returns: A boolean.
true
if file extensions should be enforced, and
false
otherwise.
Returns: The flag.
See Also: ChartPanel
Returns: A boolean.
Parameters: event Information about the mouse event.
Parameters: e the mouse event.
Parameters: e the mouse event.
Parameters: e the mouse event.
Parameters: e the event.
This event is the popup trigger on Unix/Linux. For Windows, the popup trigger is the 'mouse released' event.
Parameters: e The mouse event.
Parameters: e information about the event.
Parameters: g the graphics device for drawing on.
Parameters: g the graphics context. pf the page format to use. pageIndex the index of the page. If not 0
, nothing
gets print.
Returns: The result of printing.
Parameters: listener the listener.
Parameters: rect the rectangle (null
not permitted).
Returns: A new scaled rectangle.
Parameters: anchor the anchor point (null
permitted).
Parameters: chart the chart (null
permitted).
null
, the user's default directory will be used.
Parameters: directory the directory (null
permitted).
Since: 1.0.7
Parameters: delay the number of milliseconds to delay before taking away the tooltip
See Also: javax.swing.ToolTipManager#setDismissDelay(int)
Parameters: flag true
to enable tooltips, false
to
disable tooltips.
Parameters: flag true
enables zooming if possible.
Parameters: enforce the new flag value.
See Also: isEnforceFileExtensions
Parameters: flag true
instructs to fill the rectangle on
zoom, otherwise it will be outlined.
Parameters: flag true
enables trace lines for the mouse
pointer on the horizontal axis.
Parameters: line the line (null
permitted).
Parameters: delay the number of milliseconds to delay (after the cursor has paused) before displaying.
See Also: javax.swing.ToolTipManager#setInitialDelay(int)
At the time the chart is drawn on the panel, if the available height is greater than this amount, the chart will be drawn using the maximum height then scaled up to fit the available space.
Parameters: height The height.
At the time the chart is drawn on the panel, if the available width is greater than this amount, the chart will be drawn using the maximum width then scaled up to fit the available space.
Parameters: width The width.
At the time the chart is drawn on the panel, if the available height is less than this amount, the chart will be drawn using the minimum height then scaled down to fit the available space.
Parameters: height The height.
At the time the chart is drawn on the panel, if the available width is less than this amount, the chart will be drawn using the minimum width then scaled down to fit the available space.
Parameters: width The width.
Parameters: flag true
enables zooming and rectangle fill on
zoom.
Parameters: flag true
if zooming enabled fillRectangle true
if zoom rectangle is filled,
false if rectangle is shown as outline only.
Parameters: popup the popup menu (null
permitted).
Parameters: flag true
enables zooming.
Parameters: flag true
indicates that the buffer should be
refreshed.
Parameters: delay time in milliseconds
See Also: javax.swing.ToolTipManager#setReshowDelay(int)
Parameters: flag true
enables trace lines for the mouse
pointer on the vertical axis.
Parameters: line the line (null
permitted).
Parameters: zoomAroundAnchor the new flag value.
Since: 1.0.7
See Also: getZoomAroundAnchor
Parameters: factor the factor.
See Also: getZoomInFactor
Parameters: factor the factor.
See Also: getZoomOutFactor
Parameters: distance the distance (in Java2D units).
Parameters: java2DPoint the Java2D point.
Returns: The screen location.
Parameters: screenPoint the screen location (null
not
permitted).
Returns: The Java2D coordinates.
Parameters: selection the selected region.
Parameters: x the x value (in screen coordinates). y the y value (in screen coordinates).
Parameters: x the x coordinate (in screen coordinates). y the y-coordinate (in screen coordinates).
Parameters: x the x-coordinate (in screen coordinates). y the y coordinate (in screen coordinates).
Parameters: x the x value (in screen coordinates). y the y value (in screen coordinates).
Parameters: x the x coordinate (in screen coordinates). y the y-coordinate (in screen coordinates).
Parameters: x the x coordinate (in screen coordinates). y the y-coordinate (in screen coordinates).