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