Class BorderPane
- All Implemented Interfaces:
- Styleable,- EventTarget
  
 
     BorderPane borderPane = new BorderPane();
     ToolBar toolbar = new ToolBar();
     HBox statusbar = new HBox();
     Node appContent = new AppContentNode();
     borderPane.setTop(toolbar);
     borderPane.setCenter(appContent);
     borderPane.setBottom(statusbar);
 
 Borderpanes may be styled with backgrounds and borders using CSS.  See
 Region superclass for details.
BorderPane honors the minimum, preferred, and maximum sizes of its children. If the child's resizable range prevents it from be resized to fit within its position, it will be aligned relative to the space using a default alignment as follows:
- top: Pos.TOP_LEFT
- bottom: Pos.BOTTOM_LEFT
- left: Pos.TOP_LEFT
- right: Pos.TOP_RIGHT
- center: Pos.CENTER
BorderPane lays out each child set in the five positions regardless of the child's visible property value; unmanaged children are ignored.
Resizable Range
 BorderPane is commonly used as the root of a Scene,
 in which case its size will track the size of the scene.  If the scene or stage
 size has not been directly set by the application, the scene size will be
 initialized to the border pane's preferred size.   However, if a border pane
 has a parent other than the scene, that parent will resize the border pane within
 the border pane's resizable range during layout.   By default the border pane
 computes this range based on its content as outlined in the table below.
 
| width | height | |
|---|---|---|
| minimum | left/right insets plus width required to display right/left children at their pref widths and top/bottom/center with at least their min widths | top/bottom insets plus height required to display top/bottom children at their pref heights and left/right/center with at least their min heights | 
| preferred | left/right insets plus width required to display top/right/bottom/left/center children with at least their pref widths | top/bottom insets plus height required to display top/right/bottom/left/center children with at least their pref heights | 
| maximum | Double.MAX_VALUE | Double.MAX_VALUE | 
A border pane's unbounded maximum width and height are an indication to the parent that it may be resized beyond its preferred size to fill whatever space is assigned to it.
BorderPane provides properties for setting the size range directly. These properties default to the sentinel value Region.USE_COMPUTED_SIZE, however the application may set them to other values as needed:
     borderPane.setPrefSize(500,400);
 BorderPane does not clip its content by default, so it is possible that children's bounds may extend outside its own bounds if a child's min size prevents it from being fit within it space.
Optional Layout Constraints
An application may set constraints on individual children to customize BorderPane's layout. For each constraint, BorderPane provides a static method for setting it on the child.
| Constraint | Type | Description | 
|---|---|---|
| alignment | javafx.geometry.Pos | The alignment of the child within its area of the border pane. | 
| margin | javafx.geometry.Insets | Margin space around the outside of the child. | 
Example:
     ListView list = new ListView();
     BorderPane.setAlignment(list, Pos.TOP_LEFT);
     BorderPane.setMargin(list, new Insets(12,12,12,12));
     borderPane.setCenter(list);
 - Since:
- JavaFX 2.0
- 
Property SummaryPropertiesTypePropertyDescriptionfinal ObjectProperty<Node> The node placed on the bottom edge of this border pane.final ObjectProperty<Node> The node placed in the center of this border pane.final ObjectProperty<Node> The node placed on the left edge of this border pane.final ObjectProperty<Node> The node placed on the right edge of this border pane.final ObjectProperty<Node> The node placed on the top edge of this border pane.Properties declared in class javafx.scene.layout.Regionbackground, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, widthProperties declared in class javafx.scene.ParentneedsLayoutProperties declared in class javafx.scene.NodeaccessibleHelp, 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 SummaryFields declared in class javafx.scene.layout.RegionUSE_COMPUTED_SIZE, USE_PREF_SIZEFields declared in class javafx.scene.NodeBASELINE_OFFSET_SAME_AS_HEIGHT
- 
Constructor SummaryConstructorsConstructorDescriptionCreates a BorderPane layout.BorderPane(Node center) Creates an BorderPane layout with the given Node as the center of the BorderPane.Creates an BorderPane layout with the given Nodes to use for each of the main layout areas of the Border Pane.
- 
Method SummaryModifier and TypeMethodDescriptionfinal ObjectProperty<Node> The node placed on the bottom edge of this border pane.final ObjectProperty<Node> The node placed in the center of this border pane.static voidclearConstraints(Node child) Removes all border pane constraints from the child node.static PosgetAlignment(Node child) Returns the child's alignment constraint if set.final NodeGets the value of thebottomproperty.final NodeGets the value of thecenterproperty.Returns the orientation of a node's resizing bias for layout purposes.final NodegetLeft()Gets the value of theleftproperty.static InsetsReturns the child's margin constraint if set.final NodegetRight()Gets the value of therightproperty.final NodegetTop()Gets the value of thetopproperty.final ObjectProperty<Node> The node placed on the left edge of this border pane.final ObjectProperty<Node> The node placed on the right edge of this border pane.static voidsetAlignment(Node child, Pos value) Sets the alignment for the child when contained by a border pane.final voidSets the value of thebottomproperty.final voidSets the value of thecenterproperty.final voidSets the value of theleftproperty.static voidSets the margin for the child when contained by a border pane.final voidSets the value of therightproperty.final voidSets the value of thetopproperty.final ObjectProperty<Node> The node placed on the top edge of this border pane.Methods declared in class javafx.scene.layout.PanegetChildrenMethods declared in class javafx.scene.layout.RegionbackgroundProperty, 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, widthPropertyMethods declared in class javafx.scene.ParentgetBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBoundsMethods declared in class javafx.scene.NodeaccessibleHelpProperty, 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, 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, visiblePropertyMethods declared in class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods declared in interface javafx.css.StyleablegetStyleableNode
- 
Property Details- 
centerThe node placed in the center of this border pane. If resizable, it will be resized fill the center of the border pane between the top, bottom, left, and right nodes. If the node cannot be resized to fill the center space (it's not resizable or its max size prevents it) then it will be center aligned unless the child's alignment constraint has been set.- See Also:
 
- 
topThe node placed on the top edge of this border pane. If resizable, it will be resized to its preferred height and it's width will span the width of the border pane. If the node cannot be resized to fill the top space (it's not resizable or its max size prevents it) then it will be aligned top-left within the space unless the child's alignment constraint has been set.- See Also:
 
- 
bottomThe node placed on the bottom edge of this border pane. If resizable, it will be resized to its preferred height and it's width will span the width of the border pane. If the node cannot be resized to fill the bottom space (it's not resizable or its max size prevents it) then it will be aligned bottom-left within the space unless the child's alignment constraint has been set.- See Also:
 
- 
leftThe node placed on the left edge of this border pane. If resizable, it will be resized to its preferred width and it's height will span the height of the border pane between the top and bottom nodes. If the node cannot be resized to fill the left space (it's not resizable or its max size prevents it) then it will be aligned top-left within the space unless the child's alignment constraint has been set.- See Also:
 
- 
rightThe node placed on the right edge of this border pane. If resizable, it will be resized to its preferred width and it's height will span the height of the border pane between the top and bottom nodes. If the node cannot be resized to fill the right space (it's not resizable or its max size prevents it) then it will be aligned top-right within the space unless the child's alignment constraint has been set.- See Also:
 
 
- 
- 
Constructor Details- 
BorderPanepublic BorderPane()Creates a BorderPane layout.
- 
BorderPaneCreates an BorderPane layout with the given Node as the center of the BorderPane.- Parameters:
- center- The node to set as the center of the BorderPane.
- Since:
- JavaFX 8.0
 
- 
BorderPaneCreates an BorderPane layout with the given Nodes to use for each of the main layout areas of the Border Pane. The top, right, bottom, and left nodes are listed in clockwise order.- Parameters:
- center- The node to set as the center of the BorderPane.
- top- The node to set as the top of the BorderPane.
- right- The node to set as the right of the BorderPane.
- bottom- The node to set as the bottom of the BorderPane.
- left- The node to set as the left of the BorderPane.
- Since:
- JavaFX 8.0
 
 
- 
- 
Method Details- 
setAlignmentSets the alignment for the child when contained by a border pane. If set, will override the border pane's default alignment for the child's position. Setting the value to null will remove the constraint.- Parameters:
- child- the child node of a border pane
- value- the alignment position for the child
 
- 
getAlignment
- 
setMarginSets the margin for the child when contained by a border pane. If set, the border pane will lay it out with the margin space around it. Setting the value to null will remove the constraint.- Parameters:
- child- the child node of a border pane
- value- the margin of space around the child
 
- 
getMargin
- 
clearConstraintsRemoves all border pane constraints from the child node.- Parameters:
- child- the child node
 
- 
centerPropertyThe node placed in the center of this border pane. If resizable, it will be resized fill the center of the border pane between the top, bottom, left, and right nodes. If the node cannot be resized to fill the center space (it's not resizable or its max size prevents it) then it will be center aligned unless the child's alignment constraint has been set.- Returns:
- the node placed in the center of this border pane
- See Also:
 
- 
setCenterSets the value of thecenterproperty.- Property description:
- The node placed in the center of this border pane. If resizable, it will be resized fill the center of the border pane between the top, bottom, left, and right nodes. If the node cannot be resized to fill the center space (it's not resizable or its max size prevents it) then it will be center aligned unless the child's alignment constraint has been set.
- Parameters:
- value- the value for the- centerproperty
- See Also:
 
- 
getCenterGets the value of thecenterproperty.- Property description:
- The node placed in the center of this border pane. If resizable, it will be resized fill the center of the border pane between the top, bottom, left, and right nodes. If the node cannot be resized to fill the center space (it's not resizable or its max size prevents it) then it will be center aligned unless the child's alignment constraint has been set.
- Returns:
- the value of the centerproperty
- See Also:
 
- 
topPropertyThe node placed on the top edge of this border pane. If resizable, it will be resized to its preferred height and it's width will span the width of the border pane. If the node cannot be resized to fill the top space (it's not resizable or its max size prevents it) then it will be aligned top-left within the space unless the child's alignment constraint has been set.- Returns:
- the node placed on the top edge of this border pane
- See Also:
 
- 
setTopSets the value of thetopproperty.- Property description:
- The node placed on the top edge of this border pane. If resizable, it will be resized to its preferred height and it's width will span the width of the border pane. If the node cannot be resized to fill the top space (it's not resizable or its max size prevents it) then it will be aligned top-left within the space unless the child's alignment constraint has been set.
- Parameters:
- value- the value for the- topproperty
- See Also:
 
- 
getTopGets the value of thetopproperty.- Property description:
- The node placed on the top edge of this border pane. If resizable, it will be resized to its preferred height and it's width will span the width of the border pane. If the node cannot be resized to fill the top space (it's not resizable or its max size prevents it) then it will be aligned top-left within the space unless the child's alignment constraint has been set.
- Returns:
- the value of the topproperty
- See Also:
 
- 
bottomPropertyThe node placed on the bottom edge of this border pane. If resizable, it will be resized to its preferred height and it's width will span the width of the border pane. If the node cannot be resized to fill the bottom space (it's not resizable or its max size prevents it) then it will be aligned bottom-left within the space unless the child's alignment constraint has been set.- Returns:
- the node placed on the bottom edge of this border pane
- See Also:
 
- 
setBottomSets the value of thebottomproperty.- Property description:
- The node placed on the bottom edge of this border pane. If resizable, it will be resized to its preferred height and it's width will span the width of the border pane. If the node cannot be resized to fill the bottom space (it's not resizable or its max size prevents it) then it will be aligned bottom-left within the space unless the child's alignment constraint has been set.
- Parameters:
- value- the value for the- bottomproperty
- See Also:
 
- 
getBottomGets the value of thebottomproperty.- Property description:
- The node placed on the bottom edge of this border pane. If resizable, it will be resized to its preferred height and it's width will span the width of the border pane. If the node cannot be resized to fill the bottom space (it's not resizable or its max size prevents it) then it will be aligned bottom-left within the space unless the child's alignment constraint has been set.
- Returns:
- the value of the bottomproperty
- See Also:
 
- 
leftPropertyThe node placed on the left edge of this border pane. If resizable, it will be resized to its preferred width and it's height will span the height of the border pane between the top and bottom nodes. If the node cannot be resized to fill the left space (it's not resizable or its max size prevents it) then it will be aligned top-left within the space unless the child's alignment constraint has been set.- Returns:
- the node placed on the left edge of this border pane
- See Also:
 
- 
setLeftSets the value of theleftproperty.- Property description:
- The node placed on the left edge of this border pane. If resizable, it will be resized to its preferred width and it's height will span the height of the border pane between the top and bottom nodes. If the node cannot be resized to fill the left space (it's not resizable or its max size prevents it) then it will be aligned top-left within the space unless the child's alignment constraint has been set.
- Parameters:
- value- the value for the- leftproperty
- See Also:
 
- 
getLeftGets the value of theleftproperty.- Property description:
- The node placed on the left edge of this border pane. If resizable, it will be resized to its preferred width and it's height will span the height of the border pane between the top and bottom nodes. If the node cannot be resized to fill the left space (it's not resizable or its max size prevents it) then it will be aligned top-left within the space unless the child's alignment constraint has been set.
- Returns:
- the value of the leftproperty
- See Also:
 
- 
rightPropertyThe node placed on the right edge of this border pane. If resizable, it will be resized to its preferred width and it's height will span the height of the border pane between the top and bottom nodes. If the node cannot be resized to fill the right space (it's not resizable or its max size prevents it) then it will be aligned top-right within the space unless the child's alignment constraint has been set.- Returns:
- the node placed on the right edge of this border pane
- See Also:
 
- 
setRightSets the value of therightproperty.- Property description:
- The node placed on the right edge of this border pane. If resizable, it will be resized to its preferred width and it's height will span the height of the border pane between the top and bottom nodes. If the node cannot be resized to fill the right space (it's not resizable or its max size prevents it) then it will be aligned top-right within the space unless the child's alignment constraint has been set.
- Parameters:
- value- the value for the- rightproperty
- See Also:
 
- 
getRightGets the value of therightproperty.- Property description:
- The node placed on the right edge of this border pane. If resizable, it will be resized to its preferred width and it's height will span the height of the border pane between the top and bottom nodes. If the node cannot be resized to fill the right space (it's not resizable or its max size prevents it) then it will be aligned top-right within the space unless the child's alignment constraint has been set.
- Returns:
- the value of the rightproperty
- See Also:
 
- 
getContentBiasDescription copied from class:NodeReturns the orientation of a node's resizing bias for layout purposes. If the node type has no bias, returns null. If the node is resizable and it's height depends on its width, returns HORIZONTAL, else if its width depends on its height, returns VERTICAL.Resizable subclasses should override this method to return an appropriate value. - Overrides:
- getContentBiasin class- Node
- Returns:
- null unless the center, right, bottom, left or top has a content bias.
- See Also:
 
 
-