Класс 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 |
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 |
alignmentProperty() |
Общее выравнивание дочерних элементов по ширине и высоте vbox. |
static void |
clearConstraints |
Удаляет все ограничения vbox для дочернего узла. |
final BooleanProperty |
fillWidthProperty() |
Определяет, будут ли изменяемые по размеру дочерние элементы изменять свой размер для заполнения всей ширины vbox или будут изменены до предпочтительной ширины и выровнены в соответствии со значением alignment hpos. |
final Pos |
getAlignment() |
Получает значение свойства alignment. |
static List |
getClassCssMetaData() |
Получает CssMetaData, связанный с этим классом, который может включать в себя CssMetaData своих родительских классов. |
Orientation |
getContentBias() |
Возвращает ориентацию смещения изменения размера узла для целей макета. |
List |
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, 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, 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
- См. также:
fillWidth
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Подклассы, изменяемые по размеру, должны переопределять этот метод, чтобы вернуть соответствующее значение.
- Переопределяет:
-
getContentBiasв классеNode - Возвращает:
- null, если ни один из его дочерних элементов не имеет смещения содержимого.
- См. также:
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
CssMetaData, связанную с этим классом, которая может включать CssMetaData его суперклассов.- Возвращает:
CssMetaData- С момента:
- JavaFX 8.0
getCssMetaData
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
Node.getClassCssMetaData(), чтобы CssMetaData узла можно было получить без необходимости в рефлексии.- Определено в:
-
getCssMetaDataв интерфейсеStyleable - Переопределяет:
-
getCssMetaDataв классеRegion - Возвращает:
- CssMetaData, связанную с этим узлом, которая может включать CssMetaData его суперклассов.
- С момента:
- 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.