Класс 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
Сводка свойств
| Тип | Свойство | Описание |
|---|---|---|
ObjectProperty<Pos> | alignment | Общее выравнивание дочерних элементов по ширине и высоте vbox. |
BooleanProperty | fillWidth | Определяет, будут ли изменяемые по размеру дочерние элементы изменять свой размер для заполнения всей ширины vbox или будут изменены до их предпочтительной ширины и выровнены в соответствии со значением alignment hpos. |
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, 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(double spacing) | Создает макет VBox с указанным отступом между дочерними элементами. |
VBox(double spacing,
Node... children) | Создает макет VBox с указанным отступом между дочерними элементами. |
VBox(Node... children) | Создает макет VBox с spacing = 0. |
Сводка методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ObjectProperty<Pos> | alignmentProperty() | Общее выравнивание дочерних элементов по ширине и высоте vbox. |
static void | clearConstraints(Node child) | Удаляет все ограничения vbox для дочернего узла. |
BooleanProperty | fillWidthProperty() | Определяет, будут ли изменяемые по размеру дочерние элементы изменять свой размер для заполнения всей ширины vbox или будут изменены до их предпочтительной ширины и выровнены в соответствии со значением alignment hpos. |
Pos | getAlignment() | Возвращает значение свойства alignment. |
static List<CssMetaData<? extends Styleable,?>> | getClassCssMetaData() | |
Orientation | getContentBias() | Возвращает ориентацию смещения изменения размера узла для целей макета. |
List<CssMetaData<? extends Styleable,?>> | getCssMetaData() | Этот метод должен делегировать вызов Node.getClassCssMetaData(), чтобы можно было получить доступ к CssMetaData узла Node без необходимости в рефлексии. |
static Insets | getMargin(Node child) | Возвращает свойство отступа дочернего элемента, если оно задано. |
double | getSpacing() | Возвращает значение свойства spacing. |
static Priority | getVgrow(Node child) | Возвращает свойство vgrow дочернего элемента, если оно задано. |
boolean | isFillWidth() | Возвращает значение свойства fillWidth. |
void | setAlignment(Pos value) | Устанавливает значение свойства alignment. |
void | setFillWidth(boolean value) | Устанавливает значение свойства fillWidth. |
static void | setMargin(Node child,
Insets value) | Устанавливает отступ для дочернего элемента, когда он содержится в vbox. |
void | setSpacing(double value) | Устанавливает значение свойства spacing. |
static void | setVgrow(Node child,
Priority value) | Устанавливает приоритет вертикального увеличения для дочернего элемента при содержании в vbox. |
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, 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, 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, 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, getStyleClass
Подробное описание свойств
интервал
public final DoubleProperty spacingProperty
- См. также:
-
getSpacing(),setSpacing(double)
выравнивание
public final ObjectProperty<Pos> alignmentProperty
- См. также:
-
getAlignment(),setAlignment(Pos)
fillWidth
public final BooleanProperty fillWidthProperty
alignment hpos.- См. также:
-
isFillWidth(),setFillWidth(boolean)
Подробное описание конструкторов
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()
- См. также:
-
getSpacing(),setSpacing(double)
setSpacing
public final void setSpacing(double value)
- Описание свойства:
- Количество вертикального пространства между каждым дочерним элементом в vbox.
getSpacing
public final double getSpacing()
- Описание свойства:
- Количество вертикального пространства между каждым дочерним элементом в vbox.
alignmentProperty
public final ObjectProperty<Pos> alignmentProperty()
- См. также:
-
getAlignment(),setAlignment(Pos)
setAlignment
public final void setAlignment(Pos value)
- Описание свойства:
- Общее выравнивание дочерних элементов по ширине и высоте vbox.
getAlignment
public final Pos getAlignment()
- Описание свойства:
- Общее выравнивание дочерних элементов по ширине и высоте vbox.
fillWidthProperty
public final BooleanProperty fillWidthProperty()
alignment hpos.- См. также:
-
isFillWidth(),setFillWidth(boolean)
setFillWidth
public final void setFillWidth(boolean value)
- Описание свойства:
- Указывает, будут ли изменяемые по размеру дочерние элементы изменять свой размер, заполняя всю ширину vbox, или будут изменены до их предпочтительной ширины и выровнены в соответствии со значением
alignmenthpos.
isFillWidth
public final boolean isFillWidth()
- Описание свойства:
- Указывает, будут ли изменяемые по размеру дочерние элементы изменять свой размер, заполняя всю ширину vbox, или будут изменены до их предпочтительной ширины и выровнены в соответствии со значением
alignmenthpos.
getContentBias
public Orientation getContentBias()
NodeПодклассы, изменяемые по размеру, должны переопределять этот метод, чтобы вернуть соответствующее значение.
- Переопределяет:
-
getContentBiasв классеNode - Возвращает:
- null, если ни один из дочерних элементов не имеет смещения содержимого.
- См. также:
-
Node.isResizable(),Node.minWidth(double),Node.minHeight(double),Node.prefWidth(double),Node.prefHeight(double),Node.maxWidth(double),Node.maxHeight(double)
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- Возвращает:
- 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.