java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
org.controlsfx.control.BreadCrumbBar<T>
- All Implemented Interfaces:
javafx.css.Styleable
,javafx.event.EventTarget
,javafx.scene.control.Skinnable
public class BreadCrumbBar<T>
extends javafx.scene.control.Control
Represents a bread crumb bar. This control is useful to visualize and navigate
a hierarchical path structure, such as file systems.
Shown below is a screenshot of the BreadCrumbBar control:

-
Property Summary
PropertiesTypePropertyDescriptionfinal javafx.beans.property.BooleanProperty
Enable or disable auto navigation (default is enabled).final javafx.beans.property.ObjectProperty
<javafx.util.Callback<javafx.scene.control.TreeItem<T>, javafx.scene.control.Button>> Return an ObjectProperty of the CrumbFactory.final javafx.beans.property.ObjectProperty
<javafx.event.EventHandler<BreadCrumbBar.BreadCrumbActionEvent<T>>> final javafx.beans.property.ObjectProperty
<javafx.scene.control.TreeItem<T>> Represents the bottom-most path node (the node on the most-right side in terms of the bread crumb bar).Properties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltip
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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Represents an Event which is fired when a bread crumb was activated.static class
Represents a BreadCrumb Button -
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
ConstructorsConstructorDescriptionCreates an empty bread crumb barBreadCrumbBar
(javafx.scene.control.TreeItem<T> selectedCrumb) Creates a bread crumb bar with the given TreeItem as the currently selected crumb. -
Method Summary
Modifier and TypeMethodDescriptionfinal javafx.beans.property.BooleanProperty
Enable or disable auto navigation (default is enabled).static <T> javafx.scene.control.TreeItem
<T> buildTreeModel
(T... crumbs) Construct a tree model from the flat list which then can be set as selectedCrumb node to be shownprotected javafx.scene.control.Skin
<?> final javafx.beans.property.ObjectProperty
<javafx.util.Callback<javafx.scene.control.TreeItem<T>, javafx.scene.control.Button>> Return an ObjectProperty of the CrumbFactory.final javafx.util.Callback
<javafx.scene.control.TreeItem<T>, javafx.scene.control.Button> Returns the cell factory that will be used to createBreadCrumbBar.BreadCrumbButton
instancesfinal javafx.event.EventHandler
<BreadCrumbBar.BreadCrumbActionEvent<T>> Return the EventHandler currently used when a user selects a crumb.final javafx.scene.control.TreeItem
<T> Get the current target pathprotected final String
getUserAgentStylesheet
(Class<?> clazz, String fileName) A helper method that ensures that the resource based lookup of the user agent stylesheet only happens once.final boolean
Return whether auto-navigation is enabled.final javafx.beans.property.ObjectProperty
<javafx.event.EventHandler<BreadCrumbBar.BreadCrumbActionEvent<T>>> final javafx.beans.property.ObjectProperty
<javafx.scene.control.TreeItem<T>> Represents the bottom-most path node (the node on the most-right side in terms of the bread crumb bar).final void
setAutoNavigationEnabled
(boolean enabled) Enable or disable auto navigation (default is enabled).final void
setCrumbFactory
(javafx.util.Callback<javafx.scene.control.TreeItem<T>, javafx.scene.control.Button> value) Sets the crumb factory to create (custom)BreadCrumbBar.BreadCrumbButton
instances.final void
setOnCrumbAction
(javafx.event.EventHandler<BreadCrumbBar.BreadCrumbActionEvent<T>> value) Set a new EventHandler for when a user selects a crumb.final void
setSelectedCrumb
(javafx.scene.control.TreeItem<T> selectedCrumb) Select one node in the BreadCrumbBar for being the bottom-most path node.Methods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, 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
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, 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, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, 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
-
Property Details
-
selectedCrumb
public final javafx.beans.property.ObjectProperty<javafx.scene.control.TreeItem<T>> selectedCrumbPropertyRepresents the bottom-most path node (the node on the most-right side in terms of the bread crumb bar). The full path is then being constructed using getParent() of the tree-items.Consider the following hierarchy: [Root] > [Folder] > [SubFolder] > [myfile.txt] To show the above bread crumb bar, you have to set the [myfile.txt] tree-node as selected crumb.
- See Also:
-
crumbFactory
public final javafx.beans.property.ObjectProperty<javafx.util.Callback<javafx.scene.control.TreeItem<T>,javafx.scene.control.Button>> crumbFactoryPropertyReturn an ObjectProperty of the CrumbFactory.- See Also:
-
onCrumbAction
public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<BreadCrumbBar.BreadCrumbActionEvent<T>>> onCrumbActionProperty- See Also:
-
-
Constructor Details
-
BreadCrumbBar
public BreadCrumbBar()Creates an empty bread crumb bar -
BreadCrumbBar
Creates a bread crumb bar with the given TreeItem as the currently selected crumb.
-
-
Method Details
-
buildTreeModel
public static <T> javafx.scene.control.TreeItem<T> buildTreeModel(T... crumbs) Construct a tree model from the flat list which then can be set as selectedCrumb node to be shown- Parameters:
crumbs
-
-
selectedCrumbProperty
public final javafx.beans.property.ObjectProperty<javafx.scene.control.TreeItem<T>> selectedCrumbProperty()Represents the bottom-most path node (the node on the most-right side in terms of the bread crumb bar). The full path is then being constructed using getParent() of the tree-items.Consider the following hierarchy: [Root] > [Folder] > [SubFolder] > [myfile.txt] To show the above bread crumb bar, you have to set the [myfile.txt] tree-node as selected crumb.
- Returns:
- the
selectedCrumb
property - See Also:
-
getSelectedCrumb
Get the current target path -
setSelectedCrumb
Select one node in the BreadCrumbBar for being the bottom-most path node.- Parameters:
selectedCrumb
-
-
crumbFactoryProperty
public final javafx.beans.property.ObjectProperty<javafx.util.Callback<javafx.scene.control.TreeItem<T>,javafx.scene.control.Button>> crumbFactoryProperty()Return an ObjectProperty of the CrumbFactory.- Returns:
- an ObjectProperty of the CrumbFactory.
- See Also:
-
setCrumbFactory
public final void setCrumbFactory(javafx.util.Callback<javafx.scene.control.TreeItem<T>, javafx.scene.control.Button> value) Sets the crumb factory to create (custom)BreadCrumbBar.BreadCrumbButton
instances.null
is not allowed and will result in a fall back to the default factory.- Parameters:
value
-
-
getCrumbFactory
public final javafx.util.Callback<javafx.scene.control.TreeItem<T>,javafx.scene.control.Button> getCrumbFactory()Returns the cell factory that will be used to createBreadCrumbBar.BreadCrumbButton
instances -
onCrumbActionProperty
public final javafx.beans.property.ObjectProperty<javafx.event.EventHandler<BreadCrumbBar.BreadCrumbActionEvent<T>>> onCrumbActionProperty()- Returns:
- an ObjectProperty representing the crumbAction EventHandler being used.
- See Also:
-
setOnCrumbAction
public final void setOnCrumbAction(javafx.event.EventHandler<BreadCrumbBar.BreadCrumbActionEvent<T>> value) Set a new EventHandler for when a user selects a crumb.- Parameters:
value
-
-
getOnCrumbAction
Return the EventHandler currently used when a user selects a crumb.- Returns:
- the EventHandler currently used when a user selects a crumb.
-
createDefaultSkin
protected javafx.scene.control.Skin<?> createDefaultSkin()- Overrides:
createDefaultSkin
in classjavafx.scene.control.Control
-
getUserAgentStylesheet
- Overrides:
getUserAgentStylesheet
in classjavafx.scene.layout.Region
-
getUserAgentStylesheet
A helper method that ensures that the resource based lookup of the user agent stylesheet only happens once. Caches the external form of the resource.- Parameters:
clazz
- the class used for the resource lookupfileName
- the name of the user agent stylesheet- Returns:
- the external form of the user agent stylesheet (the path)
-