Класс VBox
- Все реализуемые интерфейсы:
-
Styleable,EventTarget
public class VBox extends Pane
Пример VBox:
VBox vbox = new VBox(8); // spacing = 8
vbox.getChildren().addAll(new Button("Cut"), new Button("Copy"), new Button("Paste"));
VBox изменяет размер дочерних элементов (если они изменяемы) до их предпочтительной высоты и использует свойство fillWidth, чтобы определить, следует ли изменять их ширину, чтобы заполнить свою собственную ширину, или сохранить их ширину до предпочтительной (fillWidth по умолчанию равен true). Выравнивание содержимого контролируется свойством alignment, которое по умолчанию равно Pos.TOP_LEFT. Если vbox изменяется на больший размер, чем предпочтительная высота, по умолчанию дочерние элементы сохраняют свои предпочтительные высоты, оставляя дополнительное пространство неиспользуемым. Если приложение хочет, чтобы один или несколько дочерних элементов занимали это дополнительное пространство, можно установить ограничение vgrow для дочернего элемента. Подробности см. в разделе «Дополнительные ограничения макета».
VBox выстраивает каждый управляемый дочерний элемент независимо от значения свойства visible дочернего элемента; неуправляемые дочерние элементы игнорируются.
Диапазон изменения размера
Родительский элемент vbox изменит размер vbox в пределах диапазона изменения размера vbox во время макета. По умолчанию vbox вычисляет этот диапазон на основе своего содержимого, как показано в таблице ниже.
| ширина | высота | |
|---|---|---|
| минимальная | левые/правые отступы плюс наибольшая из минимальных ширин дочерних элементов. | верхние/нижние отступы плюс сумма минимальной высоты каждого дочернего элемента плюс интервал между каждым дочерним элементом. |
| предпочтительная | левые/правые отступы плюс наибольшая из предпочтительных ширин дочерних элементов. | верхние/нижние отступы плюс сумма предпочтительной высоты каждого дочернего элемента плюс интервал между каждым дочерним элементом. |
| максимальная | Double.MAX_VALUE | Double.MAX_VALUE |
Неограниченная максимальная ширина и высота vbox указывают родителю, что его можно изменить на размер, превышающий предпочтительный размер, чтобы заполнить все выделенное ему пространство.
VBox предоставляет свойства для непосредственного задания диапазона размеров. Эти свойства по умолчанию имеют значение USE_COMPUTED_SIZE, но приложение может установить их на другие значения по мере необходимости:
vbox.setPrefWidth(400);
Приложения могут восстановить вычисленные значения, установив эти свойства обратно в значение USE_COMPUTED_SIZE. VBox по умолчанию не обрезает свое содержимое, поэтому возможно, что границы дочерних элементов могут выходить за пределы его собственных границ, если минимальный размер дочернего элемента препятствует его размещению внутри vbox.
Дополнительные ограничения макета
Приложение может установить ограничения для отдельных дочерних элементов, чтобы настроить макет VBox. Для каждого ограничения VBox предоставляет статический метод для его установки на дочерний элемент.
| Ограничение | Тип | Описание |
|---|---|---|
| vgrow | javafx.scene.layout.Priority | Приоритет вертикального изменения размера дочернего элемента. |
| margin | javafx.geometry.Insets | Отступ вокруг внешней стороны дочернего элемента. |
Например, если в vbox нужно, чтобы ListView занимал все дополнительное пространство:
VBox vbox = new VBox();
ListView list = new ListView();
VBox.setVgrow(list, Priority.ALWAYS);
vbox.getChildren().addAll(new Label("Names:"), list);
Если у нескольких дочерних элементов установлен одинаковый приоритет изменения размера, vbox распределит равное количество пространства для каждого. VBox увеличит размер дочернего элемента только до его максимальной высоты, поэтому если у дочернего элемента есть максимальная высота, отличная от Double.MAX_VALUE, приложение может потребоваться переопределить максимум, чтобы разрешить его изменение.- С:
- JavaFX 2.0
Сводка свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty<Pos> |
alignment |
Общее выравнивание дочерних элементов по ширине и высоте vbox. |
final BooleanProperty |
fillWidth |
Определяет, будут ли изменяемые по размеру дочерние элементы изменять свой размер, чтобы заполнить всю ширину vbox, или изменять размер до предпочтительной ширины и выравниваться в соответствии со значением alignment hpos. |
final DoubleProperty |
spacing |
Количество вертикального пространства между каждым дочерним элементом в vbox. |
Свойства, объявленные в классе javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
Свойства, объявленные в классе javafx.scene.Parent
needsLayout
Свойства, объявленные в классе javafx.scene.Node
accessibleHelp, 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
Сводка полей
Поля, объявленные в классе javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Сводка конструкторов
| Конструктор | Описание |
|---|---|
VBox() |
Создает макет VBox с spacing = 0 и выравниванием по TOP_LEFT. |
VBox |
Создает макет VBox с указанным интервалом между дочерними элементами. |
VBox |
Создает макет VBox с указанным интервалом между дочерними элементами. |
VBox |
Создает макет VBox с spacing = 0. |
Сводка методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ObjectProperty<Pos> |
alignmentProperty() |
Общее выравнивание дочерних элементов по ширине и высоте vbox. |
static void |
clearConstraints |
Удаляет все ограничения vbox от узла-потомка. |
final BooleanProperty |
fillWidthProperty() |
Определяет, будут ли изменяемые по размеру дочерние элементы изменять свой размер, чтобы заполнить всю ширину vbox, или изменять размер до предпочтительной ширины и выравниваться в соответствии со значением alignment hpos. |
final Pos |
getAlignment() |
Возвращает значение свойства alignment. |
static List<CssMetaData<? extends Styleable, |
getClassCssMetaData() |
Возвращает CssMetaData, связанное с этим классом, который может включать в себя CssMetaData его суперклассов. |
Orientation |
getContentBias() |
Возвращает ориентацию смещения изменения размера узла для целей макета. |
List<CssMetaData<? extends Styleable, |
getCssMetaData() |
Этот метод должен делегировать Node.getClassCssMetaData(), чтобы получить доступ к CssMetaData узла без необходимости в рефлексии. |
static Insets |
getMargin |
Возвращает свойство отступа дочернего элемента, если оно задано. |
final double |
getSpacing() |
Возвращает значение свойства spacing. |
static Priority |
getVgrow |
Возвращает свойство vgrow дочернего элемента, если оно задано. |
final boolean |
isFillWidth() |
Возвращает значение свойства fillWidth. |
final void |
setAlignment |
Устанавливает значение свойства alignment. |
final void |
setFillWidth |
Устанавливает значение свойства fillWidth. |
static void |
setMargin |
Устанавливает отступ для дочернего элемента, когда он содержится в vbox. |
final void |
setSpacing |
Устанавливает значение свойства spacing. |
static void |
setVgrow |
Устанавливает приоритет вертикального роста для дочернего элемента, когда он содержится в vbox. |
final DoubleProperty |
spacingProperty() |
Количество вертикального пространства между каждым дочерним элементом в vbox. |
Методы, объявленные в классе javafx.scene.layout.Pane
getChildren
Методы, объявленные в классе javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, 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
Методы, объявленные в классе javafx.scene.Parent
getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
Методы, объявленные в классе 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, 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, 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
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode
Подробное описание свойств
интервал
public final DoubleProperty spacingProperty
- См. также:
выравнивание
public final ObjectProperty<Pos> alignmentProperty
- См. также:
заполнить ширину
public final BooleanProperty fillWidthProperty
alignment hpos.Подробное описание конструкторов
VBox
public VBox()
VBox с spacing = 0 и выравниванием по TOP_LEFT.VBox
public VBox(double spacing)
VBox с указанным интервалом между дочерними элементами.- Параметры:
-
spacing- величина вертикального интервала между каждым дочерним элементом
VBox
public VBox(Node... children)
VBox с spacing = 0.- Параметры:
-
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)
Установка значения в null удалит ограничение.
- Параметры:
-
child- дочерний элемент vbox -
value- приоритет вертикального изменения размера для дочернего элемента
getVgrow
public static Priority getVgrow(Node child)
- Параметры:
-
child- дочерний узел vbox - Возвращает:
- приоритет вертикального изменения размера для дочернего элемента или null, если приоритет не был задан
setMargin
public static void setMargin(Node child, Insets value)
- Параметры:
-
child- дочерний элемент vbox -
value- отступ вокруг дочернего элемента
getMargin
public static Insets getMargin(Node child)
- Параметры:
-
child- дочерний узел vbox - Возвращает:
- отступ для дочернего элемента или null, если отступ не был задан
clearConstraints
public static void clearConstraints(Node child)
- Параметры:
-
child- дочерний узел
spacingProperty
public final DoubleProperty spacingProperty()
- Возвращает:
- величину вертикального интервала между каждым дочерним элементом в vbox
- См. также:
setSpacing
public final void setSpacing(double value)
spacing.- Описание свойства:
- Величина вертикального интервала между каждым дочерним элементом в vbox.
- Параметры:
-
value- значение для свойстваspacing - См. также:
getSpacing
public final double getSpacing()
spacing.- Описание свойства:
- Величина вертикального интервала между каждым дочерним элементом в vbox.
- Возвращает:
- значение свойства
spacing - См. также:
alignmentProperty
public final ObjectProperty<Pos> alignmentProperty()
- Возвращает:
- общее выравнивание дочерних элементов по ширине и высоте vbox
- См. также:
setAlignment
public final void setAlignment(Pos value)
alignment.- Описание свойства:
- Общее выравнивание дочерних элементов по ширине и высоте vbox.
- Параметры:
-
value- значение для свойстваalignment - См. также:
getAlignment
public final Pos getAlignment()
alignment.- Описание свойства:
- Общее выравнивание дочерних элементов по ширине и высоте vbox.
- Возвращает:
- значение свойства
alignment - См. также:
fillWidthProperty
public final BooleanProperty fillWidthProperty()
alignment hpos.- Возвращает:
- true, если изменяемые по размеру дочерние элементы будут изменены так, чтобы заполнить всю ширину vbox
- См. также:
setFillWidth
public final void setFillWidth(boolean value)
fillWidth.- Описание свойства:
- Определяет, будут ли изменяемые по размеру дочерние элементы изменены так, чтобы заполнить всю ширину vbox, или будут изменены до их предпочтительной ширины и выровнены в соответствии со значением
alignmenthpos. - Параметры:
-
value- значение для свойстваfillWidth - См. также:
isFillWidth
public final boolean isFillWidth()
fillWidth.- Описание свойства:
- Определяет, будут ли изменяемые по размеру дочерние элементы изменены так, чтобы заполнить всю ширину vbox, или будут изменены до их предпочтительной ширины и выровнены в соответствии со значением
alignmenthpos. - Возвращает:
- значение свойства
fillWidth - См. также:
getContentBias
public Orientation getContentBias()
NodeПодклассы, изменяющие размер, должны переопределить этот метод, чтобы вернуть соответствующее значение.
- Overrides:
-
getContentBiasв классеNode - Returns:
- null, если ни один из его дочерних элементов не имеет смещения содержимого.
- См. также:
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
CssMetaData, связанную с этим классом, которая может включать CssMetaData его суперклассов.- Returns:
CssMetaData- Since:
- JavaFX 8.0
getCssMetaData
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
Node.getClassCssMetaData(), чтобы можно было получить доступ к CssMetaData узла без использования рефлексии.- Specified by:
-
getCssMetaDataв интерфейсеStyleable - Overrides:
-
getCssMetaDataв классеRegion - Returns:
- CssMetaData, связанная с этим узлом, которая может включать CssMetaData его суперклассов.
- Since:
- JavaFX 8.0
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.