public class CircularPane
extends javafx.scene.layout.Pane
This pane lays it children out in a circle or part of a circle (arc).
In order to understand how to use this pane, it is important to understand how it places its children. Placing nodes on a circle in essence is not that difficult; a circle is 360 degrees, so each node is spaced 360 / n degrees apart, the real challenge is to determine how large the circle must be. Nodes in JavaFX are rectangles with a width and a height, but for calculating in a circle the rectangular shape is impractical. So CircularPane treats its child nodes as circles, or for better visualization: as beads on a chain.
The first step is to determine how large a single bead is. This already is an interesting question. A beat should encompass the contents of the node, but CircularPane does not know what exactly is drawn in the node. It could be a simple flat or vertical line, where the encompassing circle’s diameter is equal to the width or height (whichever is the largest). But if the contents is an X or a rectangle, then then encompassing circle’s diameter is equal to the diagonal. Since CircularPane does not know, it has to assume the worst and use the diagonal. But the childrenAreCircles property allows the user to inform CircularPane than all the children are circular (or smaller), so it can then use the width or height to calculate the encompassing circle (bead).
CircularPane segments the 360 degrees in equal parts; 360 / number of children. The largest bead determines the distance from the origin to where it fits in a segment, and this determines the size of the chain.
By setting a debug color, the beads will be drawn and will clarify the layout.
| Type | Property and Description |
|---|---|
javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>> |
animateInFinished
animateInFinished
|
javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>> |
animateOutFinished
animateOutFinished
|
javafx.beans.property.ReadOnlyBooleanProperty |
animatingIn
animatingIn
|
javafx.beans.property.ReadOnlyBooleanProperty |
animatingOut
animatingOut
|
javafx.beans.property.ReadOnlyBooleanProperty |
animating
animating
|
javafx.beans.property.ObjectProperty<javafx.util.Duration> |
animationDuration
animationDuration
|
javafx.beans.property.ObjectProperty<CircularPane.AnimationInterpolation> |
animationInterpolation
animationInterpolation: calculate the position of a node during the animation (default: move from origin), use node.relocate to position node (or manually apply layoutBounds.minX/Y)
|
javafx.beans.property.ObjectProperty<java.lang.Double> |
arc
arc in degrees: the arc is used to determine the end position; default = 360 = north (top)
|
javafx.beans.property.ObjectProperty<java.lang.Boolean> |
childrenAreCircular
childrenAreCircular: if all children are circular, then we can use a different size
|
javafx.beans.property.ObjectProperty<java.lang.Boolean> |
clipAwayExcessWhitespace
clipAwayExcessWhitespace: cut away excess whitespace on the outside
|
javafx.beans.property.ObjectProperty<java.lang.Double> |
diameter
diameter: diameter of the whole layout
|
javafx.beans.property.ObjectProperty<java.lang.Double> |
gap
gap: space between nodes
|
javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> |
showDebug
debug: show debug hints
|
javafx.beans.property.ObjectProperty<java.lang.Double> |
startAngle
StartAngle in degrees: the startAngle is used to determine the starting position; default = 0 = north (top)
|
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, heightProperty, insetsProperty, maxHeightProperty, maxWidthProperty, minHeightProperty, minWidthProperty, opaqueInsetsProperty, paddingProperty, prefHeightProperty, prefWidthProperty, scaleShapeProperty, shapeProperty, snapToPixelProperty, widthPropertyimpl_traversalEngineProperty, needsLayoutPropertyblendModeProperty, boundsInLocalProperty, boundsInParentProperty, cacheHintProperty, cacheProperty, clipProperty, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, focusedProperty, focusTraversableProperty, hoverProperty, idProperty, impl_showMnemonicsProperty, impl_treeVisibleProperty, inputMethodRequestsProperty, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParentTransformProperty, localToSceneTransformProperty, managedProperty, mouseTransparentProperty, nodeOrientationProperty, 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, pickOnBoundsProperty, pressedProperty, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, styleProperty, translateXProperty, translateYProperty, translateZProperty, visibleProperty| Modifier and Type | Class and Description |
|---|---|
static interface |
CircularPane.AnimationInterpolation |
class |
CircularPane.AnimationLayoutInfo
This class holds additional layout information for animation.
|
class |
CircularPane.LayoutInfo
This class holds layout information at pane level
|
class |
CircularPane.NodeLayoutInfo
This class holds layout information at node level
|
| Constructor and Description |
|---|
CircularPane() |
| Modifier and Type | Method and Description |
|---|---|
CircularPane |
add(javafx.scene.Node node) |
static void |
animateAppear(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo) |
static void |
animateFromTheOrigin(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo) |
static void |
animateFromTheOriginWithFadeRotate(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo) |
void |
animateIn() |
javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>> |
animateInFinishedProperty()
animateInFinished
|
void |
animateOut() |
javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>> |
animateOutFinishedProperty()
animateOutFinished
|
static void |
animateOverTheArc(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo) |
static void |
animateOverTheArcWithFade(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo) |
static void |
animateSpiralOut(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo) |
javafx.beans.property.ReadOnlyBooleanProperty |
animatingInProperty()
animatingIn
|
javafx.beans.property.ReadOnlyBooleanProperty |
animatingOutProperty()
animatingOut
|
javafx.beans.property.ReadOnlyBooleanProperty |
animatingProperty()
animating
|
javafx.beans.property.ObjectProperty<javafx.util.Duration> |
animationDurationProperty()
animationDuration
|
javafx.beans.property.ObjectProperty<CircularPane.AnimationInterpolation> |
animationInterpolationProperty()
animationInterpolation: calculate the position of a node during the animation (default: move from origin), use node.relocate to position node (or manually apply layoutBounds.minX/Y)
|
javafx.beans.property.ObjectProperty<java.lang.Double> |
arcProperty()
arc in degrees: the arc is used to determine the end position; default = 360 = north (top)
|
protected CircularPane.LayoutInfo |
calculateLayout(jfxtras.scene.layout.CircularPane.MinPrefMax size) |
javafx.beans.property.ObjectProperty<java.lang.Boolean> |
childrenAreCircularProperty()
childrenAreCircular: if all children are circular, then we can use a different size
|
javafx.beans.property.ObjectProperty<java.lang.Boolean> |
clipAwayExcessWhitespaceProperty()
clipAwayExcessWhitespace: cut away excess whitespace on the outside
|
protected double |
computeMaxHeight(double width) |
protected double |
computeMaxWidth(double height) |
protected double |
computeMinHeight(double width) |
protected double |
computeMinWidth(double height) |
protected double |
computePrefHeight(double width) |
protected double |
computePrefWidth(double height) |
javafx.beans.property.ObjectProperty<java.lang.Double> |
diameterProperty()
diameter: diameter of the whole layout
|
javafx.beans.property.ObjectProperty<java.lang.Double> |
gapProperty()
gap: space between nodes
|
javafx.util.Duration |
getAnimationDuration() |
CircularPane.AnimationInterpolation |
getAnimationInterpolation() |
java.lang.Double |
getArc() |
java.lang.Boolean |
getChildrenAreCircular() |
java.lang.Boolean |
getClipAwayExcessWhitespace() |
java.lang.Double |
getDiameter() |
java.lang.Double |
getGap() |
javafx.event.EventHandler<javafx.event.ActionEvent> |
getOnAnimateInFinished() |
javafx.event.EventHandler<javafx.event.ActionEvent> |
getOnAnimateOutFinished() |
javafx.scene.paint.Paint |
getShowDebug() |
java.lang.Double |
getStartAngle() |
boolean |
isAnimating() |
boolean |
isAnimatingIn() |
boolean |
isAnimatingOut() |
protected void |
layoutChildren() |
CircularPane |
remove(javafx.scene.Node node) |
void |
requestLayout() |
void |
setAnimationDuration(javafx.util.Duration value) |
void |
setAnimationInterpolation(CircularPane.AnimationInterpolation value) |
void |
setArc(java.lang.Double value) |
void |
setChildrenAreCircular(java.lang.Boolean value) |
void |
setClipAwayExcessWhitespace(java.lang.Boolean value) |
void |
setDiameter(java.lang.Double value) |
void |
setGap(java.lang.Double value) |
void |
setOnAnimateInFinished(javafx.event.EventHandler<javafx.event.ActionEvent> value) |
void |
setOnAnimateOutFinished(javafx.event.EventHandler<javafx.event.ActionEvent> value) |
void |
setShowDebug(javafx.scene.paint.Paint value) |
void |
setStartAngle(java.lang.Double value) |
javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> |
showDebugProperty()
debug: show debug hints
|
javafx.beans.property.ObjectProperty<java.lang.Double> |
startAngleProperty()
StartAngle in degrees: the startAngle is used to determine the starting position; default = 0 = north (top)
|
CircularPane |
withAnimationDuration(javafx.util.Duration value) |
CircularPane |
withAnimationInterpolation(CircularPane.AnimationInterpolation value) |
CircularPane |
withArc(java.lang.Double value) |
CircularPane |
withChildrenAreCircular(java.lang.Boolean value) |
CircularPane |
withClipAwayExcessWhitespace(java.lang.Boolean value) |
CircularPane |
withDiameter(java.lang.Double value) |
CircularPane |
withGap(java.lang.Double value) |
CircularPane |
withId(java.lang.String v)
Id
|
CircularPane |
withOnAnimateOutFinished(javafx.event.EventHandler<javafx.event.ActionEvent> value) |
CircularPane |
withShowDebug(javafx.scene.paint.Paint value) |
CircularPane |
withStartAngle(java.lang.Double value) |
CircularPane |
witOnhAnimateInFinished(javafx.event.EventHandler<javafx.event.ActionEvent> value) |
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getClassCssMetaData, getCssMetaData, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getWidth, heightProperty, impl_computeContains, impl_computeGeomBounds, impl_computeLayoutBounds, impl_createPeer, impl_notifyLayoutBoundsChanged, impl_pickNodeLocal, impl_updatePeer, 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, snapSize, snapSpace, snapToPixelProperty, widthPropertygetBaselineOffset, getChildrenUnmodifiable, getImpl_traversalEngine, getManagedChildren, getStylesheets, impl_getAllParentStylesheets, impl_processCSS, impl_processMXNode, impl_traversalEngineProperty, isNeedsLayout, layout, lookup, needsLayoutProperty, requestParentLayout, setImpl_traversalEngine, setNeedsLayout, updateBoundsaddEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, containsBounds, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, 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, hasProperties, hoverProperty, idProperty, impl_clearDirty, impl_computeIntersects, impl_cssGetCursorInitialValue, impl_cssGetFocusTraversableInitialValue, impl_geomChanged, impl_getAccessible, impl_getLeafTransform, impl_getMatchingStyles, impl_getPeer, impl_getPivotX, impl_getPivotY, impl_getPivotZ, impl_getStyleMap, impl_hasTransforms, impl_intersects, impl_intersectsBounds, impl_isDirty, impl_isDirtyEmpty, impl_isShowMnemonics, impl_isTreeVisible, impl_layoutBoundsChanged, impl_markDirty, impl_pickNode, impl_processCSS, impl_reapplyCSS, impl_setShowMnemonics, impl_setStyleMap, impl_showMnemonicsProperty, impl_syncPeer, impl_transformsChanged, impl_traverse, impl_treeVisibleProperty, 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, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, 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, screenToLocal, screenToLocal, screenToLocal, 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, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visiblePropertypublic javafx.beans.property.ObjectProperty<java.lang.Double> startAngleProperty
StartAngle in degrees: the startAngle is used to determine the starting position; default = 0 = north (top)
getStartAngle(),
setStartAngle(Double)public javafx.beans.property.ObjectProperty<java.lang.Double> arcProperty
arc in degrees: the arc is used to determine the end position; default = 360 = north (top)
getArc(),
setArc(Double)public javafx.beans.property.ObjectProperty<java.lang.Double> gapProperty
gap: space between nodes
getGap(),
setGap(Double)public javafx.beans.property.ObjectProperty<java.lang.Double> diameterProperty
diameter: diameter of the whole layout
getDiameter(),
setDiameter(Double)public javafx.beans.property.ObjectProperty<java.lang.Boolean> childrenAreCircularProperty
childrenAreCircular: if all children are circular, then we can use a different size
public javafx.beans.property.ObjectProperty<java.lang.Boolean> clipAwayExcessWhitespaceProperty
clipAwayExcessWhitespace: cut away excess whitespace on the outside
public javafx.beans.property.ObjectProperty<javafx.util.Duration> animationDurationProperty
animationDuration
public javafx.beans.property.ObjectProperty<CircularPane.AnimationInterpolation> animationInterpolationProperty
animationInterpolation: calculate the position of a node during the animation (default: move from origin), use node.relocate to position node (or manually apply layoutBounds.minX/Y)
public final javafx.beans.property.ReadOnlyBooleanProperty animatingProperty
animating
isAnimating()public final javafx.beans.property.ReadOnlyBooleanProperty animatingInProperty
animatingIn
isAnimatingIn()public final javafx.beans.property.ReadOnlyBooleanProperty animatingOutProperty
animatingOut
isAnimatingOut()public javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>> animateInFinishedProperty
animateInFinished
public javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>> animateOutFinishedProperty
animateOutFinished
public javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> showDebugProperty
debug: show debug hints
getShowDebug(),
setShowDebug(Paint)public CircularPane withId(java.lang.String v)
Id
public javafx.beans.property.ObjectProperty<java.lang.Double> startAngleProperty()
StartAngle in degrees: the startAngle is used to determine the starting position; default = 0 = north (top)
getStartAngle(),
setStartAngle(Double)public java.lang.Double getStartAngle()
public void setStartAngle(java.lang.Double value)
public CircularPane withStartAngle(java.lang.Double value)
public javafx.beans.property.ObjectProperty<java.lang.Double> arcProperty()
arc in degrees: the arc is used to determine the end position; default = 360 = north (top)
getArc(),
setArc(Double)public java.lang.Double getArc()
public void setArc(java.lang.Double value)
public CircularPane withArc(java.lang.Double value)
public javafx.beans.property.ObjectProperty<java.lang.Double> gapProperty()
gap: space between nodes
getGap(),
setGap(Double)public java.lang.Double getGap()
public void setGap(java.lang.Double value)
public CircularPane withGap(java.lang.Double value)
public javafx.beans.property.ObjectProperty<java.lang.Double> diameterProperty()
diameter: diameter of the whole layout
getDiameter(),
setDiameter(Double)public java.lang.Double getDiameter()
public void setDiameter(java.lang.Double value)
public CircularPane withDiameter(java.lang.Double value)
public javafx.beans.property.ObjectProperty<java.lang.Boolean> childrenAreCircularProperty()
childrenAreCircular: if all children are circular, then we can use a different size
public java.lang.Boolean getChildrenAreCircular()
public void setChildrenAreCircular(java.lang.Boolean value)
public CircularPane withChildrenAreCircular(java.lang.Boolean value)
public javafx.beans.property.ObjectProperty<java.lang.Boolean> clipAwayExcessWhitespaceProperty()
clipAwayExcessWhitespace: cut away excess whitespace on the outside
public java.lang.Boolean getClipAwayExcessWhitespace()
public void setClipAwayExcessWhitespace(java.lang.Boolean value)
public CircularPane withClipAwayExcessWhitespace(java.lang.Boolean value)
public javafx.beans.property.ObjectProperty<javafx.util.Duration> animationDurationProperty()
animationDuration
public javafx.util.Duration getAnimationDuration()
public void setAnimationDuration(javafx.util.Duration value)
public CircularPane withAnimationDuration(javafx.util.Duration value)
public javafx.beans.property.ObjectProperty<CircularPane.AnimationInterpolation> animationInterpolationProperty()
animationInterpolation: calculate the position of a node during the animation (default: move from origin), use node.relocate to position node (or manually apply layoutBounds.minX/Y)
public CircularPane.AnimationInterpolation getAnimationInterpolation()
public void setAnimationInterpolation(CircularPane.AnimationInterpolation value)
public CircularPane withAnimationInterpolation(CircularPane.AnimationInterpolation value)
public final javafx.beans.property.ReadOnlyBooleanProperty animatingProperty()
animating
isAnimating()public final boolean isAnimating()
public final javafx.beans.property.ReadOnlyBooleanProperty animatingInProperty()
animatingIn
isAnimatingIn()public final boolean isAnimatingIn()
public final javafx.beans.property.ReadOnlyBooleanProperty animatingOutProperty()
animatingOut
isAnimatingOut()public final boolean isAnimatingOut()
public javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>> animateInFinishedProperty()
animateInFinished
public javafx.event.EventHandler<javafx.event.ActionEvent> getOnAnimateInFinished()
public void setOnAnimateInFinished(javafx.event.EventHandler<javafx.event.ActionEvent> value)
public CircularPane witOnhAnimateInFinished(javafx.event.EventHandler<javafx.event.ActionEvent> value)
public javafx.beans.property.ObjectProperty<javafx.event.EventHandler<javafx.event.ActionEvent>> animateOutFinishedProperty()
animateOutFinished
public javafx.event.EventHandler<javafx.event.ActionEvent> getOnAnimateOutFinished()
public void setOnAnimateOutFinished(javafx.event.EventHandler<javafx.event.ActionEvent> value)
public CircularPane withOnAnimateOutFinished(javafx.event.EventHandler<javafx.event.ActionEvent> value)
public javafx.beans.property.ObjectProperty<javafx.scene.paint.Paint> showDebugProperty()
debug: show debug hints
getShowDebug(),
setShowDebug(Paint)public javafx.scene.paint.Paint getShowDebug()
public void setShowDebug(javafx.scene.paint.Paint value)
public CircularPane withShowDebug(javafx.scene.paint.Paint value)
protected double computeMinWidth(double height)
computeMinWidth in class javafx.scene.layout.Regionprotected double computeMinHeight(double width)
computeMinHeight in class javafx.scene.layout.Regionprotected double computePrefWidth(double height)
computePrefWidth in class javafx.scene.layout.Regionprotected double computePrefHeight(double width)
computePrefHeight in class javafx.scene.layout.Regionprotected double computeMaxWidth(double height)
computeMaxWidth in class javafx.scene.layout.Regionprotected double computeMaxHeight(double width)
computeMaxHeight in class javafx.scene.layout.Regionprotected void layoutChildren()
layoutChildren in class javafx.scene.Parentpublic void requestLayout()
requestLayout in class javafx.scene.Parentprotected CircularPane.LayoutInfo calculateLayout(jfxtras.scene.layout.CircularPane.MinPrefMax size)
public void animateIn()
public void animateOut()
public static void animateFromTheOrigin(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo)
progress - animationLayoutInfo - public static void animateSpiralOut(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo)
progress - animationLayoutInfo - public static void animateFromTheOriginWithFadeRotate(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo)
progress - animationLayoutInfo - public static void animateOverTheArc(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo)
progress - animationLayoutInfo - public static void animateOverTheArcWithFade(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo)
progress - animationLayoutInfo - public static void animateAppear(double progress,
CircularPane.AnimationLayoutInfo animationLayoutInfo)
progress - animationLayoutInfo - public CircularPane add(javafx.scene.Node node)
public CircularPane remove(javafx.scene.Node node)