Класс HBox
- Все реализованные интерфейсы:
-
Styleable,EventTarget
public class HBox extends Pane
Пример HBox:
HBox hbox = new HBox(8); // spacing = 8
hbox.getChildren().addAll(new Label("Name:), new TextBox());
HBox изменит размер дочерних элементов (если они изменяемы) до их предпочтительной ширины и использует свойство fillHeight для определения, нужно ли изменить их высоту, чтобы заполнить свою высоту, или сохранить их высоту в соответствии с их предпочтительной (fillHeight по умолчанию true). Выравнивание содержимого контролируется свойством alignment, которое по умолчанию равно Pos.TOP_LEFT. Если hbox масштабируется больше, чем его предпочтительная ширина, по умолчанию он сохранит дочерние элементы в соответствии с их предпочтительными ширинами, оставив дополнительное место неиспользуемым. Если приложение хочет, чтобы один или несколько дочерних элементов занимали это дополнительное место, оно может по желанию задать ограничение hgrow для дочернего элемента. Подробнее см. в разделе "Дополнительные ограничения компоновки".
HBox выстраивает каждый управляемый дочерний элемент независимо от значения свойства visible дочернего элемента; неуправляемые элементы игнорируются.
Диапазон изменения размера
Родительский элемент hbox будет изменять размер hbox в диапазоне изменения размера hbox во время компоновки. По умолчанию hbox вычисляет этот диапазон на основе своего содержимого, как показано в таблице ниже.
| ширина | высота | |
|---|---|---|
| минимальная | левые/правые отступы плюс сумма минимальной ширины каждого дочернего элемента плюс интервал между каждым дочерним элементом. | верхние/нижние отступы плюс максимальная из высот дочерних элементов. |
| предпочтительная | левые/правые отступы плюс сумма предпочтительной ширины каждого дочернего элемента плюс интервал между каждым дочерним элементом. | верхние/нижние отступы плюс максимальная из высот дочерних элементов. |
| максимальная | Double.MAX_VALUE | Double.MAX_VALUE |
Неограниченная максимальная ширина и высота hbox — это указание родителю, что его можно изменить больше, чем его предпочтительный размер, чтобы заполнить любое предоставленное место.
HBox предоставляет свойства для прямого задания диапазона размера. По умолчанию эти свойства имеют значение USE_COMPUTED_SIZE, однако приложение может установить их в другие значения по мере необходимости:
hbox.setPrefWidth(400);
Приложения могут восстановить вычисленные значения, установив эти свойства обратно в значение USE_COMPUTED_SIZE. HBox по умолчанию не обрезает своё содержимое, поэтому границы дочерних элементов могут выходить за пределы его собственных границ, если минимальный размер дочернего элемента не позволяет поместить его внутри hbox.
Дополнительные ограничения компоновки
Приложение может задать ограничения для отдельных дочерних элементов, чтобы настроить компоновку HBox. Для каждого ограничения HBox предоставляет статический метод для его задания на дочернем элементе.
| Ограничение | Тип | Описание |
|---|---|---|
| hgrow | javafx.scene.layout.Priority | Приоритет горизонтального увеличения для дочернего элемента. |
| margin | javafx.geometry.Insets | Поле вокруг внешнего края дочернего элемента. |
Например, если hbox нужно, чтобы TextField занимал всё дополнительное место:
HBox hbox = new HBox();
TextField field = new TextField();
HBox.setHgrow(field, Priority.ALWAYS);
hbox.getChildren().addAll(new Label("Search:"), field, new Button("Go"));
Если у нескольких дочерних элементов задан одинаковый приоритет увеличения, hbox будет распределять одинаковое количество места для каждого. HBox будет увеличивать размер дочернего элемента только до его максимальной ширины, поэтому, если у дочернего элемента есть максимальная ширина, отличная от Double.MAX_VALUE, приложение может потребоваться переопределить максимум, чтобы разрешить увеличение. Например:
HBox hbox = new HBox();
Button button1 = new Button("Add");
Button button2 = new Button("Remove");
HBox.setHgrow(button1, Priority.ALWAYS);
HBox.setHgrow(button2, Priority.ALWAYS);
button1.setMaxWidth(Double.MAX_VALUE);
button2.setMaxWidth(Double.MAX_VALUE);
hbox.getChildren().addAll(button1, button2);
- С:
- JavaFX 2.0
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty |
alignment |
Общее выравнивание дочерних элементов по ширине и высоте hbox. |
final BooleanProperty |
fillHeight |
Указывает, будут ли изменяемые по размеру дочерние элементы масштабироваться до заполнения всей высоты hbox или будут изменены до предпочтительной высоты и выровнены в соответствии со значением свойства alignment vpos. |
final DoubleProperty |
spacing |
Количество горизонтального пространства между каждым дочерним элементом в hbox. |
Свойства, объявленные в классе 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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
HBox() |
Создает макет HBox с spacing = 0. |
HBox |
Создает макет HBox с заданным отступом между дочерними элементами. |
HBox |
Создает макет HBox с заданным отступом между дочерними элементами. |
HBox |
Создает макет HBox с spacing = 0. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ObjectProperty |
alignmentProperty() |
Общее выравнивание дочерних элементов по ширине и высоте hbox. |
static void |
clearConstraints |
Удаляет все ограничения hbox от дочернего узла. |
final BooleanProperty |
fillHeightProperty() |
Указывает, будут ли изменяемые по размеру дочерние элементы масштабироваться до заполнения всей высоты hbox или будут изменены до предпочтительной высоты и выровнены в соответствии со значением свойства alignment vpos. |
final Pos |
getAlignment() |
Получает значение свойства alignment. |
static List |
getClassCssMetaData() |
Получает CssMetaData, связанное с этим классом, который может включать в себя CssMetaData его суперклассов. |
Orientation |
getContentBias() |
Возвращает ориентацию смещения изменения размера узла для целей макета. |
List |
getCssMetaData() |
Этот метод должен делегировать Node.getClassCssMetaData(), чтобы доступ к CssMetaData узла Node был возможен без отражения. |
static Priority |
getHgrow |
Возвращает ограничение hgrow дочернего элемента, если оно установлено. |
static Insets |
getMargin |
Возвращает ограничение отступа дочернего элемента, если оно установлено. |
final double |
getSpacing() |
Получает значение свойства spacing. |
final boolean |
isFillHeight() |
Получает значение свойства fillHeight. |
final void |
setAlignment |
Устанавливает значение свойства alignment. |
final void |
setFillHeight |
Устанавливает значение свойства fillHeight. |
static void |
setHgrow |
Устанавливает приоритет горизонтального увеличения размера для дочернего элемента, когда он находится в hbox. |
static void |
setMargin |
Устанавливает отступ для дочернего элемента при содержании в hbox. |
final void |
setSpacing |
Устанавливает значение свойства spacing. |
final DoubleProperty |
spacingProperty() |
Количество горизонтального пространства между каждым дочерним элементом в hbox. |
Методы, объявленные в классе 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
- См. также:
fillHeight
public final BooleanProperty fillHeightProperty
alignment vpos. Обратите внимание, что если вертикальное выравнивание hbox установлено в BASELINE, то это свойство будет проигнорировано, и дочерние элементы будут изменены до своей предпочтительной высоты.- См. также:
Подробное описание конструкторов
HBox
public HBox()
HBox с spacing = 0.HBox
public HBox(double spacing)
HBox с указанным расстоянием между дочерними элементами.- Параметры:
-
spacing- величина горизонтального пространства между каждым дочерним элементом
HBox
public HBox(Node... children)
HBox с spacing = 0.- Параметры:
-
children- начальный набор дочерних элементов для этой панели - С:
- JavaFX 8.0
HBox
public HBox(double spacing, Node... children)
HBox с указанным расстоянием между дочерними элементами.- Параметры:
-
spacing- величина горизонтального пространства между каждым дочерним элементом -
children- начальный набор дочерних элементов для этой панели - С:
- JavaFX 8.0
Подробное описание методов
setHgrow
public static void setHgrow(Node child, Priority value)
Установка значения в null удалит ограничение.
- Параметры:
-
child- дочерний элемент hbox -
value- приоритет горизонтального роста для дочернего элемента
getHgrow
public static Priority getHgrow(Node child)
- Параметры:
-
child- дочерний узел hbox - Возвращает:
- приоритет горизонтального роста для дочернего элемента или null, если приоритет не был установлен
setMargin
public static void setMargin(Node child, Insets value)
- Параметры:
-
child- дочерний режим hbox -
value- отступ вокруг дочернего элемента
getMargin
public static Insets getMargin(Node child)
- Параметры:
-
child- дочерний узел hbox - Возвращает:
- отступ для дочернего элемента или null, если отступ не был установлен
clearConstraints
public static void clearConstraints(Node child)
- Параметры:
-
child- дочерний узел
spacingProperty
public final DoubleProperty spacingProperty()
- Возвращает:
- величину горизонтального пространства между каждым дочерним элементом в hbox
- См. также:
setSpacing
public final void setSpacing(double value)
spacing.- Описание свойства:
- Величина горизонтального пространства между каждым дочерним элементом в hbox.
- Параметры:
-
value- значение для свойстваspacing - См. также:
getSpacing
public final double getSpacing()
spacing.- Описание свойства:
- Величина горизонтального пространства между каждым дочерним элементом в hbox.
- Возвращает:
- значение свойства
spacing - См. также:
alignmentProperty
public final ObjectProperty<Pos> alignmentProperty()
- Возвращает:
- общее выравнивание дочерних элементов по ширине и высоте hbox
- См. также:
setAlignment
public final void setAlignment(Pos value)
alignment.- Описание свойства:
- Общее выравнивание дочерних элементов по ширине и высоте hbox.
- Параметры:
-
value- значение для свойстваalignment - См. также:
getAlignment
public final Pos getAlignment()
alignment.- Описание свойства:
- Общее выравнивание дочерних элементов по ширине и высоте hbox.
- Возвращает:
- значение свойства
alignment - См. также:
fillHeightProperty
public final BooleanProperty fillHeightProperty()
alignment vpos. Обратите внимание, что если вертикальное выравнивание hbox установлено в BASELINE, то это свойство будет проигнорировано, и дочерние элементы будут изменены до своей предпочтительной высоты.- Возвращает:
- true, если изменяемые по размеру дочерние элементы будут изменены до заполнения всей высоты hbox
- См. также:
Установить высоту заполнения
public final void setFillHeight(boolean value)
fillHeight.- Описание свойства:
- Определяет, будут ли изменяться размеры изменяемых дочерних элементов для заполнения всей высоты hbox или будут ли они изменены до их предпочтительной высоты и выровнены в соответствии со значением
alignmentvpos. Обратите внимание, что если вертикальное выравнивание hbox установлено в BASELINE, то это свойство будет проигнорировано, и дети будут изменены до своих предпочтительных высот. - Параметры:
-
value- значение для свойстваfillHeight - См. также:
isFillHeight
public final boolean isFillHeight()
fillHeight.- Описание свойства:
- Определяет, будут ли изменяться размеры изменяемых дочерних элементов для заполнения всей высоты hbox или будут ли они изменены до их предпочтительной высоты и выровнены в соответствии со значением
alignmentvpos. Обратите внимание, что если вертикальное выравнивание hbox установлено в BASELINE, то это свойство будет проигнорировано, и дети будут изменены до своих предпочтительных высот. - Возвращает:
- значение свойства
fillHeight - См. также:
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.