Class ChartViewer

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
org.jfree.chart.fx.ChartViewer
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget

public class ChartViewer
extends javafx.scene.layout.Region
A control for displaying a JFreeChart in JavaFX (embeds a ChartCanvas, adds drag zooming and provides a popup menu for export to PNG/JPG/SVG and PDF formats). Many behaviours (tooltips, zooming etc) are provided directly by the canvas.
  • Property Summary

    Properties inherited from class javafx.scene.layout.Region

    background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width

    Properties inherited from class javafx.scene.Parent

    needsLayout

    Properties inherited from class javafx.scene.Node

    accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
  • Field Summary

    Fields inherited from class javafx.scene.layout.Region

    USE_COMPUTED_SIZE, USE_PREF_SIZE

    Fields inherited from class javafx.scene.Node

    BASELINE_OFFSET_SAME_AS_HEIGHT
  • Constructor Summary

    Constructors
    Constructor Description
    ChartViewer()
    Creates a new instance, initially with no chart to display.
    ChartViewer​(org.jfree.chart.JFreeChart chart)
    Creates a new viewer to display the supplied chart in JavaFX.
    ChartViewer​(org.jfree.chart.JFreeChart chart, boolean contextMenuEnabled)
    Creates a new viewer instance.
  • Method Summary

    Modifier and Type Method Description
    void addChartMouseListener​(ChartMouseListenerFX listener)
    Registers a listener to receive ChartMouseEvent notifications from the canvas embedded in this viewer.
    ChartCanvas getCanvas()
    Returns the ChartCanvas embedded in this component.
    org.jfree.chart.JFreeChart getChart()
    Returns the chart that is being displayed by this viewer.
    javafx.scene.control.ContextMenu getContextMenu()
    Returns the context menu for this component.
    org.jfree.chart.ChartRenderingInfo getRenderingInfo()
    Returns the rendering info from the most recent drawing of the chart.
    javafx.scene.paint.Paint getZoomFillPaint()
    Returns the current fill paint for the zoom rectangle.
    void hideZoomRectangle()
    Hides the zoom rectangle.
    protected void layoutChildren()  
    void removeChartMouseListener​(ChartMouseListenerFX listener)
    Removes a listener from the list of objects listening for chart mouse events.
    void setChart​(org.jfree.chart.JFreeChart chart)
    Sets the chart to be displayed by this viewer.
    void setZoomFillPaint​(javafx.scene.paint.Paint paint)
    Sets the fill paint for the zoom rectangle.
    void showZoomRectangle​(double x, double y, double w, double h)
    Sets the size and location of the zoom rectangle and makes it visible if it wasn't already visible..

    Methods inherited from class javafx.scene.layout.Region

    backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getBackground, getBorder, getClassCssMetaData, getCssMetaData, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty

    Methods inherited from class javafx.scene.Parent

    getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds

    Methods inherited from class javafx.scene.Node

    accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Constructor Details

    • ChartViewer

      public ChartViewer()
      Creates a new instance, initially with no chart to display. This constructor is required so that this control can be used within FXML.
    • ChartViewer

      public ChartViewer​(org.jfree.chart.JFreeChart chart)
      Creates a new viewer to display the supplied chart in JavaFX.
      Parameters:
      chart - the chart (null permitted).
    • ChartViewer

      public ChartViewer​(org.jfree.chart.JFreeChart chart, boolean contextMenuEnabled)
      Creates a new viewer instance.
      Parameters:
      chart - the chart (null permitted).
      contextMenuEnabled - enable the context menu?
  • Method Details

    • getChart

      public org.jfree.chart.JFreeChart getChart()
      Returns the chart that is being displayed by this viewer.
      Returns:
      The chart (possibly null).
    • setChart

      public void setChart​(org.jfree.chart.JFreeChart chart)
      Sets the chart to be displayed by this viewer.
      Parameters:
      chart - the chart (null not permitted).
    • getCanvas

      Returns the ChartCanvas embedded in this component.
      Returns:
      The ChartCanvas (never null).
    • getContextMenu

      public javafx.scene.control.ContextMenu getContextMenu()
      Returns the context menu for this component.
      Returns:
      The context menu for this component.
    • getRenderingInfo

      public org.jfree.chart.ChartRenderingInfo getRenderingInfo()
      Returns the rendering info from the most recent drawing of the chart.
      Returns:
      The rendering info (possibly null).
    • getZoomFillPaint

      public javafx.scene.paint.Paint getZoomFillPaint()
      Returns the current fill paint for the zoom rectangle.
      Returns:
      The fill paint.
    • setZoomFillPaint

      public void setZoomFillPaint​(javafx.scene.paint.Paint paint)
      Sets the fill paint for the zoom rectangle.
      Parameters:
      paint - the new paint.
    • layoutChildren

      protected void layoutChildren()
      Overrides:
      layoutChildren in class javafx.scene.Parent
    • addChartMouseListener

      public void addChartMouseListener​(ChartMouseListenerFX listener)
      Registers a listener to receive ChartMouseEvent notifications from the canvas embedded in this viewer.
      Parameters:
      listener - the listener (null not permitted).
    • removeChartMouseListener

      Removes a listener from the list of objects listening for chart mouse events.
      Parameters:
      listener - the listener.
    • showZoomRectangle

      public void showZoomRectangle​(double x, double y, double w, double h)
      Sets the size and location of the zoom rectangle and makes it visible if it wasn't already visible.. This method is provided for the use of the ZoomHandlerFX class, you won't normally need to call it directly.
      Parameters:
      x - the x-location.
      y - the y-location.
      w - the width.
      h - the height.
    • hideZoomRectangle

      public void hideZoomRectangle()
      Hides the zoom rectangle. This method is provided for the use of the ZoomHandlerFX class, you won't normally need to call it directly.