Spec-Zone.ru › OpenJavaFX 17

Класс VBox

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.layout.Pane
javafx.scene.layout.VBox
Все реализованные интерфейсы:
Styleable, EventTarget
public class VBox
extends Pane
VBox выстраивает свои дочерние элементы в один вертикальный столбец. Если у vbox установлен border и/или padding, то содержимое будет выстроено в пределах этих отступов.

Пример 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 вычисляет этот диапазон на основе своего содержимого, как показано в таблице ниже.

Таблица изменения размеров VBox
ширина высота
минимальная левые/правые отступы плюс максимальная из минимальных ширин дочерних элементов. верхние/нижние отступы плюс сумма минимальной высоты каждого дочернего элемента плюс интервал между каждым дочерним элементом.
предпочтительная левые/правые отступы плюс максимальная из предпочтительных ширин дочерних элементов. верхние/нижние отступы плюс сумма предпочтительной высоты каждого дочернего элемента плюс интервал между каждым дочерним элементом.
максимальная Double.MAX_VALUE Double.MAX_VALUE

Неограниченная максимальная ширина и высота vbox являются указанием для родительского элемента, что он может изменить размер за пределами его предпочтительного размера, чтобы заполнить предоставленное ему пространство.

VBox предоставляет свойства для непосредственного задания диапазона размеров. Эти свойства по умолчанию имеют значение USE_COMPUTED_SIZE, однако приложение может установить их на другие значения по необходимости:


     vbox.setPrefWidth(400);
 
Приложения могут восстановить вычисленные значения, установив эти свойства обратно в USE_COMPUTED_SIZE.

VBox по умолчанию не обрезает свое содержимое, поэтому возможно, что границы дочерних элементов могут выходить за пределы его собственных границ, если минимальный размер дочернего элемента не позволяет ему поместиться внутри 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
Количество вертикального пространства между каждым дочерним элементом в vbox.
См. также:
getSpacing(), setSpacing(double)

выравнивание

public final ObjectProperty<Pos> alignmentProperty
Общее выравнивание дочерних элементов по ширине и высоте vbox.
См. также:
getAlignment(), setAlignment(Pos)

fillWidth

public final BooleanProperty fillWidthProperty
Определяет, будут ли изменяемые по размеру дочерние элементы изменять свой размер, заполняя всю ширину vbox, или будут изменены до их предпочтительной ширины и выровнены в соответствии со значением 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)
Устанавливает приоритет вертикального роста для дочернего элемента, когда он содержится в vbox. Если задано, vbox будет использовать значение приоритета для выделения дополнительного места, если vbox изменяется на больший размер, чем его предпочтительная высота. Если несколько дочерних элементов vbox имеют одинаковый приоритет вертикального роста, дополнительное пространство будет распределено равномерно между ними. Если для дочернего элемента не задан приоритет вертикального роста, vbox никогда не будет выделять дополнительное вертикальное пространство для этого элемента.

Установка значения в null удалит ограничение.

Параметры:
child - дочерний элемент vbox
value - приоритет вертикального роста для дочернего элемента

getVgrow

public static Priority getVgrow(Node child)
Возвращает свойство vgrow дочернего элемента, если оно задано.
Параметры:
child - дочерний узел vbox
Возвращает:
приоритет вертикального роста для дочернего элемента или null, если приоритет не был задан

setMargin

public static void setMargin(Node child, Insets value)
Устанавливает отступ для дочернего элемента, когда он содержится в vbox. Если задано, vbox расположит дочерний элемент так, чтобы вокруг него был отступ. Установка значения в null удалит ограничение.
Параметры:
child - дочерний узел vbox
value - отступ вокруг дочернего элемента

getMargin

public static Insets getMargin(Node child)
Возвращает свойство отступа дочернего элемента, если оно задано.
Параметры:
child - дочерний узел vbox
Возвращает:
отступ для дочернего элемента или null, если отступ не был задан

clearConstraints

public static void clearConstraints(Node child)
Удаляет все ограничения vbox для дочернего узла.
Параметры:
child - дочерний узел

spacingProperty

public final DoubleProperty spacingProperty()
Количество вертикального пространства между каждым дочерним элементом в vbox.
См. также:
getSpacing(), setSpacing(double)

setSpacing

public final void setSpacing(double value)
Устанавливает значение свойства интервал.
Описание свойства:
Количество вертикального пространства между каждым дочерним элементом в vbox.

getSpacing

public final double getSpacing()
Получает значение свойства интервал.
Описание свойства:
Количество вертикального пространства между каждым дочерним элементом в vbox.

alignmentProperty

public final ObjectProperty<Pos> alignmentProperty()
Общее выравнивание дочерних элементов по ширине и высоте vbox.
См. также:
getAlignment(), setAlignment(Pos)

setAlignment

public final void setAlignment(Pos value)
Устанавливает значение свойства выравнивание.
Описание свойства:
Общее выравнивание дочерних элементов по ширине и высоте vbox.

getAlignment

public final Pos getAlignment()
Получает значение свойства выравнивание.
Описание свойства:
Общее выравнивание дочерних элементов по ширине и высоте vbox.

fillWidthProperty

public final BooleanProperty fillWidthProperty()
Указывает, будут ли изменяемые по размеру дочерние элементы изменять свой размер, заполняя всю ширину vbox, или будут изменены до их предпочтительной ширины и выровнены в соответствии со значением alignment hpos.
См. также:
isFillWidth(), setFillWidth(boolean)

setFillWidth

public final void setFillWidth(boolean value)
Устанавливает значение свойства fillWidth.
Описание свойства:
Указывает, будут ли изменяемые по размеру дочерние элементы изменять свой размер, заполняя всю ширину vbox, или будут изменены до их предпочтительной ширины и выровнены в соответствии со значением alignment hpos.

isFillWidth

public final boolean isFillWidth()
Получает значение свойства fillWidth.
Описание свойства:
Указывает, будут ли изменяемые по размеру дочерние элементы изменять свой размер, заполняя всю ширину vbox, или будут изменены до их предпочтительной ширины и выровнены в соответствии со значением alignment hpos.

getContentBias

public Orientation getContentBias()
Описание скопировано из класса: Node
Возвращает ориентацию смещения изменения размера узла для целей макета. Если у типа узла нет смещения, возвращает null. Если узел изменяемый по размеру и его высота зависит от его ширины, возвращает HORIZONTAL, иначе, если его ширина зависит от его высоты, возвращает VERTICAL.

Подклассы, изменяемые по размеру, должны переопределять этот метод, чтобы вернуть соответствующее значение.

Переопределяет:
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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API