Class CategoryAxis
- All Implemented Interfaces:
Styleable
,EventTarget
A axis implementation that will works on string categories where each
value as a unique category(tick mark) along the axis.
- Since:
- JavaFX 2.0
-
Nested Class Summary
Nested classes/interfaces declared in class javafx.scene.chart.Axis
Axis.TickMark<T>
-
Property Summary
TypePropertyDescriptionfinal ReadOnlyDoubleProperty
This is the gap between one category and the next along this axisfinal DoubleProperty
The margin between the last tick mark and the axis endfinal BooleanProperty
If this is true then half the space between ticks is left at the start and endfinal DoubleProperty
The margin between the axis start and the first tick-markProperties declared in class javafx.scene.chart.Axis
animated, autoRanging, label, side, tickLabelFill, tickLabelFont, tickLabelGap, tickLabelRotation, tickLabelsVisible, tickLength, tickMarkVisible
Properties declared in class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
Properties declared in class javafx.scene.Parent
needsLayout
Properties declared in class javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, 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 declared in class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Fields declared in class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Constructor Summary
ConstructorDescriptionCreate a auto-ranging category axis with an empty list of categories.CategoryAxis
(ObservableList<String> categories) Create a category axis with the given categories. -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
autoRange
(double length) This calculates the categories based on the data provided to invalidateRange() method.calculateTickValues
(double length, Object range) Calculate a list of all the data values for each tick mark in rangefinal ReadOnlyDoubleProperty
This is the gap between one category and the next along this axisfinal DoubleProperty
The margin between the last tick mark and the axis endfinal BooleanProperty
If this is true then half the space between ticks is left at the start and endfinal ObservableList
<String> Returns aObservableList
of categories plotted on this axis.final double
Gets the value of thecategorySpacing
property.static List
<CssMetaData<? extends Styleable, ?>> Gets theCssMetaData
associated with this class, which may include theCssMetaData
of its superclasses.List
<CssMetaData<? extends Styleable, ?>> This method should delegate toNode.getClassCssMetaData()
so that a Node's CssMetaData can be accessed without the need for reflection.double
getDisplayPosition
(String value) Get the display position along this axis for a given value.final double
Gets the value of theendMargin
property.protected Object
getRange()
Called to get the current axis range.final double
Gets the value of thestartMargin
property.protected String
getTickMarkLabel
(String value) Get the string label name for a tick mark with the given valuegetValueForDisplay
(double displayPosition) Get the data value for the given display position on this axis.double
Get the display position of the zero line along this axis.void
invalidateRange
(List<String> data) Called when data has changed and the range may not be valid any more.final boolean
Gets the value of thegapStartAndEnd
property.boolean
isValueOnAxis
(String value) Checks if the given value is plottable on this axisprotected Dimension2D
measureTickMarkSize
(String value, Object range) Measure the size of the label for given tick mark value.final void
setCategories
(ObservableList<String> value) The ordered list of categories plotted on this axis.final void
setEndMargin
(double value) Sets the value of theendMargin
property.final void
setGapStartAndEnd
(boolean value) Sets the value of thegapStartAndEnd
property.protected void
Called to set the current axis range to the given range.final void
setStartMargin
(double value) Sets the value of thestartMargin
property.final DoubleProperty
The margin between the axis start and the first tick-markdouble
toNumericValue
(String value) All axis values must be representable by some numeric value.toRealValue
(double value) All axis values must be representable by some numeric value.Methods declared in class javafx.scene.chart.Axis
animatedProperty, autoRangingProperty, computePrefHeight, computePrefWidth, getAnimated, getLabel, getSide, getTickLabelFill, getTickLabelFont, getTickLabelGap, getTickLabelRotation, getTickLength, getTickMarks, invalidateRange, isAutoRanging, isRangeValid, isTickLabelsVisible, isTickMarkVisible, labelProperty, layoutChildren, measureTickMarkLabelSize, measureTickMarkSize, requestAxisLayout, requestLayout, setAnimated, setAutoRanging, setLabel, setSide, setTickLabelFill, setTickLabelFont, setTickLabelGap, setTickLabelRotation, setTickLabelsVisible, setTickLength, setTickMarkVisible, shouldAnimate, sideProperty, tickLabelFillProperty, tickLabelFontProperty, tickLabelGapProperty, tickLabelRotationProperty, tickLabelsVisibleProperty, tickLengthProperty, tickMarksUpdated, tickMarkVisibleProperty
Methods declared in class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, getBackground, getBorder, 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 declared in class javafx.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, needsLayoutProperty, requestParentLayout, setNeedsLayout, updateBounds
Methods declared in 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, focusVisibleProperty, focusWithinProperty, 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, isFocusVisible, isFocusWithin, 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, lookup, 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, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, requestFocusTraversal, 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 declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface javafx.css.Styleable
getStyleableNode
-
Property Details
-
startMargin
The margin between the axis start and the first tick-mark- See Also:
-
endMargin
The margin between the last tick mark and the axis end- See Also:
-
gapStartAndEnd
If this is true then half the space between ticks is left at the start and end- See Also:
-
categorySpacing
This is the gap between one category and the next along this axis- See Also:
-
-
Constructor Details
-
CategoryAxis
public CategoryAxis()Create a auto-ranging category axis with an empty list of categories. -
CategoryAxis
Create a category axis with the given categories. This will not auto-range but be fixed with the given categories.- Parameters:
categories
- List of the categories for this axis
-
-
Method Details
-
getStartMargin
public final double getStartMargin()Gets the value of thestartMargin
property.- Property description:
- The margin between the axis start and the first tick-mark
- Returns:
- the value of the
startMargin
property - See Also:
-
setStartMargin
public final void setStartMargin(double value) Sets the value of thestartMargin
property.- Property description:
- The margin between the axis start and the first tick-mark
- Parameters:
value
- the value for thestartMargin
property- See Also:
-
startMarginProperty
The margin between the axis start and the first tick-mark- Returns:
- the
startMargin
property - See Also:
-
getEndMargin
public final double getEndMargin()Gets the value of theendMargin
property.- Property description:
- The margin between the last tick mark and the axis end
- Returns:
- the value of the
endMargin
property - See Also:
-
setEndMargin
public final void setEndMargin(double value) Sets the value of theendMargin
property.- Property description:
- The margin between the last tick mark and the axis end
- Parameters:
value
- the value for theendMargin
property- See Also:
-
endMarginProperty
The margin between the last tick mark and the axis end- Returns:
- the
endMargin
property - See Also:
-
isGapStartAndEnd
public final boolean isGapStartAndEnd()Gets the value of thegapStartAndEnd
property.- Property description:
- If this is true then half the space between ticks is left at the start and end
- Returns:
- the value of the
gapStartAndEnd
property - See Also:
-
setGapStartAndEnd
public final void setGapStartAndEnd(boolean value) Sets the value of thegapStartAndEnd
property.- Property description:
- If this is true then half the space between ticks is left at the start and end
- Parameters:
value
- the value for thegapStartAndEnd
property- See Also:
-
gapStartAndEndProperty
If this is true then half the space between ticks is left at the start and end- Returns:
- the
gapStartAndEnd
property - See Also:
-
setCategories
The ordered list of categories plotted on this axis. This is set automatically based on the charts data if autoRanging is true. If the application sets the categories then auto ranging is turned off. If there is an attempt to add duplicate entry into this list, anIllegalArgumentException
is thrown.- Parameters:
value
- the ordered list of categories plotted on this axis
-
getCategories
Returns aObservableList
of categories plotted on this axis.- Returns:
- ObservableList of categories for this axis.
-
getCategorySpacing
public final double getCategorySpacing()Gets the value of thecategorySpacing
property.- Property description:
- This is the gap between one category and the next along this axis
- Returns:
- the value of the
categorySpacing
property - See Also:
-
categorySpacingProperty
This is the gap between one category and the next along this axis- Returns:
- the
categorySpacing
property - See Also:
-
getRange
-
setRange
Called to set the current axis range to the given range. If isAnimating() is true then this method should animate the range to the new range. -
autoRange
This calculates the categories based on the data provided to invalidateRange() method. This must not effect the state of the axis, changing any properties of the axis. Any results of the auto-ranging should be returned in the range object. This will we passed to setRange() if it has been decided to adopt this range for this axis. -
calculateTickValues
Calculate a list of all the data values for each tick mark in range- Specified by:
calculateTickValues
in classAxis<String>
- Parameters:
length
- The length of the axis in display unitsrange
- A range object returned from autoRange()- Returns:
- A list of tick marks that fit along the axis if it was the given length
-
getTickMarkLabel
Get the string label name for a tick mark with the given value- Specified by:
getTickMarkLabel
in classAxis<String>
- Parameters:
value
- The value to format into a tick label string- Returns:
- A formatted string for the given value
-
measureTickMarkSize
Measure the size of the label for given tick mark value. This uses the font that is set for the tick marks- Overrides:
measureTickMarkSize
in classAxis<String>
- Parameters:
value
- tick mark valuerange
- range to use during calculations- Returns:
- size of tick mark label for given value
-
invalidateRange
Called when data has changed and the range may not be valid any more. This is only called by the chart if isAutoRanging() returns true. If we are auto ranging it will cause layout to be requested and auto ranging to happen on next layout pass.- Overrides:
invalidateRange
in classAxis<String>
- Parameters:
data
- The current set of all data that needs to be plotted on this axis
-
getDisplayPosition
Get the display position along this axis for a given value. If the value is not equal to any of the categories, Double.NaN is returned- Specified by:
getDisplayPosition
in classAxis<String>
- Parameters:
value
- The data value to work out display position for- Returns:
- display position or Double.NaN if value not one of the categories
-
getValueForDisplay
Get the data value for the given display position on this axis. If the axis is a CategoryAxis this will be the nearest value.- Specified by:
getValueForDisplay
in classAxis<String>
- Parameters:
displayPosition
- A pixel position on this axis- Returns:
- the nearest data value to the given pixel position or null if not on axis;
-
isValueOnAxis
Checks if the given value is plottable on this axis- Specified by:
isValueOnAxis
in classAxis<String>
- Parameters:
value
- The value to check if its on axis- Returns:
- true if the given value is plottable on this axis
-
toNumericValue
All axis values must be representable by some numeric value. This gets the numeric value for a given data value.- Specified by:
toNumericValue
in classAxis<String>
- Parameters:
value
- The data value to convert- Returns:
- Numeric value for the given data value
-
toRealValue
All axis values must be representable by some numeric value. This gets the data value for a given numeric value.- Specified by:
toRealValue
in classAxis<String>
- Parameters:
value
- The numeric value to convert- Returns:
- Data value for given numeric value
-
getZeroPosition
public double getZeroPosition()Get the display position of the zero line along this axis. As there is no concept of zero on a CategoryAxis this is always Double.NaN.- Specified by:
getZeroPosition
in classAxis<String>
- Returns:
- always Double.NaN for CategoryAxis
-
getClassCssMetaData
Gets theCssMetaData
associated with this class, which may include theCssMetaData
of its superclasses.- Returns:
- the
CssMetaData
- Since:
- JavaFX 8.0
-
getCssMetaData
This method should delegate toNode.getClassCssMetaData()
so that a Node's CssMetaData can be accessed without the need for reflection.- Specified by:
getCssMetaData
in interfaceStyleable
- Overrides:
getCssMetaData
in classAxis<String>
- Returns:
- The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.
- Since:
- JavaFX 8.0
-