- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.layout.Pane
-
- javafx.scene.layout.VBox
-
- All Implemented Interfaces:
-
Styleable
,EventTarget
public class VBox extends Pane
VBox把孩子放在一个垂直的立柱上。 如果vbox有一个边框和/或填充集,那么这些内容将被放置在这些插入内。VBox示例:
VBox vbox = new VBox(8); // spacing = 8 vbox.getChildren().addAll(new Button("Cut"), new Button("Copy"), new Button("Paste"));
fillWidth
属性来确定是否调整其宽度的大小以填充自己的宽度或将其宽度保持为首选(fillWidth默认为true)。 内容的对齐由alignment
属性控制,默认为Pos.TOP_LEFT。如果vbox的大小大于其首选高度,默认情况下会使孩子保持其首选高度,留下额外的空间。 如果一个应用程序希望有一个或多个孩子被分配到额外的空间,它可以可选地为孩子设置一个vgrow约束。 有关详细信息,请参阅“可选布局约束”。
不管孩子的可见财产价值如何,VBox都规定了每个被管理的孩子; 非托管儿童被忽视。
可调整范围
vbox的父级将在布局期间调整vbox可调整大小范围内的vbox大小。 默认情况下,vbox根据其内容计算该范围,如下表所示。
VBox Resize Table width height minimum left/right insets plus the largest of the children's min widths. top/bottom insets plus the sum of each child's min height plus spacing between each child. preferred left/right insets plus the largest of the children's pref widths. top/bottom insets plus the sum of each child's pref height plus spacing between each child. maximum Double.MAX_VALUE Double.MAX_VALUEvbox的无界最大宽度和高度表示父级可以将其调整大小超出其首选大小,以填充分配给它的空间。
VBox提供了直接设置大小范围的属性。 这些属性默认为哨兵值USE_COMPUTED_SIZE,但是应用程序可能会根据需要将它们设置为其他值:
vbox.setPrefWidth(400);
默认情况下,VBox不会剪切其内容,所以如果孩子的最小大小阻止其在vbox中的适配,那么儿童边界可能会延伸到自己的边界之外。
可选布局限制
一个应用程序可以设置对个别孩子的约束,以定制VBox的布局。 对于每个约束,VBox提供了一种静态方法,用于在孩子上设置它。
VBox Constraint Table Constraint Type Description vgrow javafx.scene.layout.Priority The vertical grow priority for the child. margin javafx.geometry.Insets Margin space around the outside of the child.例如,如果vbox需要将ListView分配给所有额外的空间:
VBox vbox = new VBox(); ListView list = new ListView(); VBox.setVgrow(list, Priority.ALWAYS); vbox.getChildren().addAll(new Label("Names:"), list);
- 从以下版本开始:
- JavaFX 2.0
-
-
Property Summary
Properties Type Property 描述 ObjectProperty<Pos>
alignment
孩子们在vbox的宽度和高度之间的整体对齐。BooleanProperty
fillWidth
是否调整大小的小孩将被调整大小以填充vbox的全部宽度,或者调整大小为其首选宽度,并根据alignment
hpos值对齐。DoubleProperty
spacing
vbox中每个孩子之间的垂直空间量。-
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()
孩子们在vbox的宽度和高度之间的整体对齐。static void
clearConstraints(Node child)
从子节点中删除所有vbox约束。protected double
computeMinHeight(double width)
计算该区域的最小高度。protected double
computeMinWidth(double height)
计算该区域的最小宽度。protected double
computePrefHeight(double width)
计算给定宽度的该区域的首选高度; 区域子类应该覆盖此方法,以根据其内容和布局策略返回适当的值。protected double
computePrefWidth(double height)
计算给定高度的该区域的首选宽度。BooleanProperty
fillWidthProperty()
是否调整大小的小孩将被调整大小以填满vbox的全部宽度,或者按照alignment
hpos值进行调整。Pos
getAlignment()
获取属性对齐的值。static List<CssMetaData<? extends Styleable,?>>
getClassCssMetaData()
Orientation
getContentBias()
返回节点调整大小偏置的方向以进行布局。List<CssMetaData<? extends Styleable,?>>
getCssMetaData()
该方法应该委托给Node.getClassCssMetaData()
,以便可以访问Node的CssMetaData而不需要反射。static Insets
getMargin(Node child)
如果设置,返回小孩的边距属性。double
getSpacing()
获取属性间距的值。static Priority
getVgrow(Node child)
如果设置,返回小孩的vgrow属性。boolean
isFillWidth()
获取属性fillWidth的值。protected void
layoutChildren()
在布局传递期间调用这个Parent
的孩子进行布局。void
requestLayout()
请求在渲染下一个场景之前执行布局传递。void
setAlignment(Pos value)
设置属性对齐的值。void
setFillWidth(boolean value)
设置属性fillWidth的值。static void
setMargin(Node child, Insets value)
设置由vbox包含的小孩的边距。void
setSpacing(double value)
设置属性间距的值。static void
setVgrow(Node child, Priority value)
设置由vbox包含的小孩的垂直成长优先级。DoubleProperty
spacingProperty()
vbox中每个孩子之间的垂直空间量。-
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
-
spacing
public final DoubleProperty spacingProperty
vbox中每个孩子之间的垂直空间量。- 另请参见:
-
getSpacing()
,setSpacing(double)
-
alignment
public final ObjectProperty<Pos> alignmentProperty
孩子们在vbox的宽度和高度之间的整体对齐。- 另请参见:
-
getAlignment()
,setAlignment(Pos)
-
fillWidth
public final BooleanProperty fillWidthProperty
是否调整大小的小孩将被调整大小以填满vbox的全部宽度,或者调整大小至其首选宽度,并根据alignment
hpos值对齐。- 另请参见:
-
isFillWidth()
,setFillWidth(boolean)
-
-
构造方法详细信息
-
VBox
public VBox()
创建一个间距= 0并在TOP_LEFT对齐的VBox布局。
-
VBox
public VBox(double spacing)
创建一个VBox布局,并指定子间间距。- 参数
-
spacing
- 每个孩子之间的垂直空间量
-
VBox
public VBox(Node... children)
创建一个间距= 0的VBox布局。- 参数
-
children
- 此窗格的初始子项集。 - 从以下版本开始:
- JavaFX 8.0
-
VBox
public VBox(double spacing, Node... children)
创建一个VBox布局,其间指定间隔。- 参数
-
spacing
- 每个孩子之间的水平空间量 -
children
- 此窗格的初始子项集。 - 从以下版本开始:
- JavaFX 8.0
-
-
方法详细信息
-
setVgrow
public static void setVgrow(Node child, Priority value)
设置由vbox包含的小孩的垂直成长优先级。 如果设置,vbox将使用优先级来分配额外的空间,如果vbox的大小大于其首选高度。 如果多个vbox小孩具有相同的垂直成长优先级,那么额外的空间将在它们之间平均分配。 如果没有对子进行垂直增长优先级设置,则vbox将永远不会为其分配额外的垂直空间(如果可用)。 将值设置为null将删除约束。- 参数
-
child
- vbox的孩子 -
value
- 孩子的横向成长优先级
-
getVgrow
public static Priority getVgrow(Node child)
如果设置,返回小孩的vgrow属性。- 参数
-
child
- vbox的子节点 - 结果
- 该小孩的垂直成长优先级,如果没有设置优先级,则为null
-
setMargin
public static void setMargin(Node child, Insets value)
设置由vbox包含的小孩的边距。 如果设置,vbox将布局孩子,使其周围具有边缘空间。 将值设置为null将删除约束。- 参数
-
child
- vbox的子模式 -
value
- 孩子周围的空间
-
getMargin
public static Insets getMargin(Node child)
如果设置,返回小孩的边距属性。- 参数
-
child
- vbox的子节点 - 结果
- 小孩的保证金,如果没有设置保证金,则为null
-
clearConstraints
public static void clearConstraints(Node child)
从子节点中删除所有vbox约束。- 参数
-
child
- 子节点
-
spacingProperty
public final DoubleProperty spacingProperty()
vbox中每个孩子之间的垂直空间量。- 另请参见:
-
getSpacing()
,setSpacing(double)
-
setSpacing
public final void setSpacing(double value)
设置属性间距的值。- Property description:
- vbox中每个孩子之间的垂直空间量。
-
getSpacing
public final double getSpacing()
获取属性间距的值。- Property description:
- vbox中每个孩子之间的垂直空间量。
-
alignmentProperty
public final ObjectProperty<Pos> alignmentProperty()
孩子们在vbox的宽度和高度之间的整体对齐。- 另请参见:
-
getAlignment()
,setAlignment(Pos)
-
setAlignment
public final void setAlignment(Pos value)
设置属性对齐的值。- Property description:
- 孩子们在vbox的宽度和高度之间的整体对齐。
-
getAlignment
public final Pos getAlignment()
获取属性对齐的值。- Property description:
- 孩子们在vbox的宽度和高度之间的整体对齐。
-
fillWidthProperty
public final BooleanProperty fillWidthProperty()
是否调整大小的小孩将被调整大小以填充vbox的全部宽度或被调整到其首选宽度,并根据alignment
hpos值对齐。- 另请参见:
-
isFillWidth()
,setFillWidth(boolean)
-
setFillWidth
public final void setFillWidth(boolean value)
设置属性fillWidth的值。- Property description:
-
是否调整大小的小孩将被调整大小以填满vbox的全部宽度,或者调整大小至其首选宽度,并根据
alignment
hpos值对齐。
-
isFillWidth
public final boolean isFillWidth()
获取属性fillWidth的值。- Property description:
-
是否调整大小的小孩将被调整大小以填满vbox的全部宽度,或者调整大小至其首选宽度,并根据
alignment
hpos值对齐。
-
getContentBias
public Orientation getContentBias()
描述从类复制:Node
返回节点调整大小偏置的方向以进行布局。 如果节点类型没有偏差,则返回null。 如果节点可调整大小,并且其高度取决于其宽度,则返回HORIZONTAL,否则如果其宽度取决于其高度,则返回VERTICAL。可调整大小的子类应该覆盖此方法以返回适当的值。
- 重写:
-
getContentBias
在Node
- 结果
- 除非其一个孩子有内容偏见,否则为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
-
-