- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.layout.Pane
-
- javafx.scene.layout.StackPane
-
- All Implemented Interfaces:
-
Styleable
,EventTarget
- 已知直接子类:
-
TableHeaderRow
public class StackPane extends Pane
StackPane将它的孩子放在一个靠前的堆叠中。孩子的z顺序由孩子列表的顺序定义,第0个孩子是顶部的最后一个孩子。 如果设置了一个边框和/或填充,孩子们将被放在这些插图中。
stackpane将尝试调整每个孩子的大小以填补其内容区域。 如果孩子的大小不能填满stackpane(或者是因为它不能调整大小或者阻止它的最大大小),那么它将使用对齐属性对齐,该对齐属性默认为Pos.CENTER。
StackPane示例:
StackPane stack = new StackPane(); stack.getChildren().addAll(new Rectangle(100,100,Color.BLUE), new Label("Go!));
无论孩子的可见属性值如何,StackPane都会放置每个被管理的小孩; 非托管儿童被忽视。
StackPane可能使用CSS来设计背景和边框。 详见
Region
。可调整范围
stackpane的父级将在布局期间在stackpane的可调整大小范围内调整堆栈堆栈的大小。 默认情况下,stackpane将根据其内容计算此范围,如下表所示。
StackPane Resize Table width height minimum left/right insets plus the largest of the children's min widths. top/bottom insets plus the largest of the children's min heights. preferred left/right insets plus the largest of the children's pref widths. top/bottom insets plus the largest of the children's pref heights. maximum Double.MAX_VALUE Double.MAX_VALUEstackpane的无界最大宽度和高度表示父级可以将其调整大小超出其首选大小,以填充分配给它的空间。
StackPane提供了直接设置尺寸范围的属性。 这些属性默认为哨兵值USE_COMPUTED_SIZE,但是应用程序可能会根据需要将它们设置为其他值:
// ensure stackpane is never resized beyond it's preferred size stackpane.setMaxSize(Region.USE_PREF_SIZE, Region.USE_PREF_SIZE);
默认情况下,StackPane不会剪切其内容,所以如果孩子的最小大小阻止它在文件夹中适合,那么儿童的边界可能会延伸到自己的边界之外。
可选布局限制
应用程序可以设置对各个孩子的约束,以自定义StackPane的布局。 对于每个约束,StackPane提供了一个静态方法来设置它在孩子上。
StackPane Constraint Table Constraint Type Description alignment javafx.geometry.Pos The alignment of the child within the stackpane. margin javafx.geometry.Insets Margin space around the outside of the child.例子:
// Align the title Label at the bottom-center of the stackpane Label title = new Label(); StackPane.setAlignment(title, Pos.BOTTOM_CENTER); stackpane.getChildren.addAll(new ImageView(...), title); // Create an 8 pixel margin around a listview in the stackpane ListView list = new ListView(); StackPane.setMargin(list, new Insets(8,8,8,8); stackpane.getChildren().add(list);
- 从以下版本开始:
- JavaFX 2.0
-
-
Property Summary
Properties Type Property 描述 ObjectProperty<Pos>
alignment
在stackpane的宽度和高度内的子项的默认对齐方式。-
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
-
Properties inherited from class javafx.scene.Parent
needsLayout
-
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
-
-
Field Summary
-
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
-
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 ObjectProperty<Pos>
alignmentProperty()
在stackpane的宽度和高度内的子项的默认对齐方式。static void
clearConstraints(Node child)
从子节点中删除所有stackpane约束。protected double
computeMinHeight(double width)
计算该区域的最小高度。protected double
computeMinWidth(double height)
计算该区域的最小宽度。protected double
computePrefHeight(double width)
计算给定宽度的该区域的首选高度; 区域子类应该覆盖此方法,以根据其内容和布局策略返回适当的值。protected double
computePrefWidth(double height)
计算给定高度的该区域的首选宽度。Pos
getAlignment()
获取属性对齐的值。static Pos
getAlignment(Node child)
如果设置,返回小孩的对齐约束。static List<CssMetaData<? extends Styleable,?>>
getClassCssMetaData()
Orientation
getContentBias()
返回节点调整大小偏置的方向以进行布局。List<CssMetaData<? extends Styleable,?>>
getCssMetaData()
该方法应该委托给Node.getClassCssMetaData()
,以便可以访问Node的CssMetaData而不需要反射。static Insets
getMargin(Node child)
如果设置,返回小孩的边距约束。protected void
layoutChildren()
在布局传递期间调用这个Parent
的孩子。void
requestLayout()
请求在渲染下一个场景之前执行布局传递。void
setAlignment(Pos value)
设置属性对齐的值。static void
setAlignment(Node child, Pos value)
设置子堆栈的对齐方式。static void
setMargin(Node child, Insets value)
设置一个堆栈包含的小孩的边距。-
Methods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class javafx.scene.layout.Pane
getChildren
-
Methods inherited from class javafx.scene.Parent
getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, 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 inherited from interface javafx.css.Styleable
getStyleableNode
-
-
-
-
Property Detail
-
alignment
public final ObjectProperty<Pos> alignmentProperty
在stackpane的宽度和高度内的子项的默认对齐方式。 这可以通过设置孩子的对齐约束来覆盖个别孩子。- 另请参见:
-
getAlignment()
,setAlignment(Pos)
-
-
构造方法详细信息
-
StackPane
public StackPane()
使用默认CENTER对齐方式创建StackPane布局。
-
StackPane
public StackPane(Node... children)
使用默认CENTER对齐方式创建StackPane布局。- 参数
-
children
- 此窗格的初始子项集。 - 从以下版本开始:
- JavaFX 8.0
-
-
方法详细信息
-
setAlignment
public static void setAlignment(Node child, Pos value)
设置子堆栈的对齐方式。 如果设置,将覆盖stackpane的默认对齐方式。 将值设置为null将删除约束。- 参数
-
child
-child
的子节点 -
value
- 孩子的对齐位置
-
getAlignment
public static Pos getAlignment(Node child)
如果设置,返回小孩的对齐约束。- 参数
-
child
-child
的子节点 - 结果
- 小孩的对齐位置,如果没有设置对齐,则为空
-
setMargin
public static void setMargin(Node child, Insets value)
设置一个堆栈包含的小孩的边距。 如果设置,stackpane将布局孩子周围的边距空间。 将值设置为null将删除约束。- 参数
-
child
-child
的子节点 -
value
- 孩子周围的空间
-
getMargin
public static Insets getMargin(Node child)
如果设置,返回小孩的边距约束。- 参数
-
child
-child
的子节点 - 结果
- 小孩的保证金,如果没有设置保证金,则为null
-
clearConstraints
public static void clearConstraints(Node child)
从子节点中删除所有stackpane约束。- 参数
-
child
- 子节点
-
alignmentProperty
public final ObjectProperty<Pos> alignmentProperty()
在stackpane的宽度和高度内的子项的默认对齐方式。 这可以通过设置孩子的对齐约束来覆盖个别孩子。- 另请参见:
-
getAlignment()
,setAlignment(Pos)
-
setAlignment
public final void setAlignment(Pos value)
设置属性对齐的值。- Property description:
- 在stackpane的宽度和高度内的子项的默认对齐方式。 这可以通过设置孩子的对齐约束来覆盖个别孩子。
-
getAlignment
public final Pos getAlignment()
获取属性对齐的值。- Property description:
- 在stackpane的宽度和高度内的子项的默认对齐方式。 这可以通过设置孩子的对齐约束来覆盖个别孩子。
-
getContentBias
public Orientation getContentBias()
描述从类别复制:Node
返回节点调整大小偏置的方向以进行布局。 如果节点类型没有偏差,则返回null。 如果节点可调整大小,并且其高度取决于其宽度,则返回HORIZONTAL,否则如果其宽度取决于其高度,则返回VERTICAL。可调整大小的子类应该覆盖此方法以返回适当的值。
- 重写:
-
getContentBias
在Node
- 结果
- 被管理子项的第一个非空的contentBias,如果没有被管理的孩子有内容偏差,则为null。
- 另请参见:
-
Node.isResizable()
,Node.minWidth(double)
,Node.minHeight(double)
,Node.prefWidth(double)
,Node.prefHeight(double)
,Node.maxWidth(double)
,Node.maxHeight(double)
-
computeMinWidth
protected double computeMinWidth(double height)
描述从类复制:Region
计算该区域的最小宽度。 默认情况下返回左和右插入的总和。 区域子类应该覆盖此方法,以根据其内容和布局策略返回适当的值。 如果子类没有VERTICAL内容偏差,则可以忽略height参数。- 重写:
-
computeMinWidth
在Region
- 参数
-
height
- 如果最小宽度取决于应该使用的高度 - 结果
- 计算出该区域的最小宽度
-
computeMinHeight
protected double computeMinHeight(double width)
描述从类复制:Region
计算该区域的最小高度。 默认返回顶部和底部插入的总和。 区域子类应该覆盖此方法,以根据其内容和布局策略返回适当的值。 如果子类没有HORIZONTAL内容偏差,则可以忽略width参数。- 重写:
-
computeMinHeight
在Region
- 参数
-
width
- 如果最小高度取决于应该使用的宽度 - 结果
- 计算该区域的最小高度
-
computePrefWidth
protected double computePrefWidth(double height)
描述从类复制:Region
计算给定高度的该区域的首选宽度。 区域子类应该覆盖此方法,以根据其内容和布局策略返回适当的值。 如果子类没有VERTICAL内容偏差,则可以忽略height参数。- 重写:
-
computePrefWidth
在Region
- 参数
-
height
- 如果首选宽度取决于应该使用的高度 - 结果
- 计算这个区域的首选宽度
-
computePrefHeight
protected double computePrefHeight(double width)
描述从类复制:Region
计算给定宽度的该区域的首选高度; 区域子类应该覆盖此方法,以根据其内容和布局策略返回适当的值。 如果子类没有HORIZONTAL内容偏差,则可以忽略width参数。- 重写:
-
computePrefHeight
在Region
- 参数
-
width
- 如果偏好的高度取决于应该使用的宽度 - 结果
- 该区域计算的优选高度
-
requestLayout
public void requestLayout()
描述从类复制:Parent
请求在渲染下一个场景之前执行布局传递。 这是异步批量发生一次“脉冲”或动画帧。如果此父对象是布局根或非托管,则将直接添加到场景的脏布局列表中,否则将调用requestParentLayout。
- 重写:
-
requestLayout
在Parent
-
layoutChildren
protected void layoutChildren()
描述从类复制:Parent
在布局传递期间调用这个Parent
的孩子。 默认情况下,它只会将受管理的可调整大小的内容的大小设置为其首选大小,并且不会执行任何节点定位。子类应该根据需要重写此函数以布局内容。
- 重写:
-
layoutChildren
在Parent
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- 结果
- 与此类相关联的CssMetaData可能包括其类的CssMetaData。
- 从以下版本开始:
- JavaFX 8.0
-
getCssMetaData
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
该方法应该委托给Node.getClassCssMetaData()
,以便可以访问节点的CssMetaData而不需要反射。- Specified by:
-
getCssMetaData
在接口Styleable
- 重写:
-
getCssMetaData
在Region
- 结果
- 与该节点相关联的CssMetaData,其可以包括其超类的CssMetaData。
- 从以下版本开始:
- JavaFX 8.0
-
-