Класс TextFlow
- Все реализованные интерфейсы:
-
Styleable,EventTarget
public class TextFlow extends Pane
Text узлов в одном потоке текста. TextFlow использует текст и шрифт каждого узла Text внутри него, а также свою ширину и выравнивание текста, чтобы определить расположение каждого дочернего элемента. Один узел Text может охватывать несколько строк из-за обтекания, и визуальное расположение узла Text может отличаться от логического расположения из-за переупорядочения в соответствии с направлением письма. Любой узел Node, кроме Text, будет обрабатываться как встроенный объект в текстовом макете. Он будет вставлен в контент с использованием его предпочтительной ширины, высоты и смещения базовой линии.
Когда узел Text находится внутри узла TextFlow, некоторые его свойства игнорируются. Например, свойства x и y узла Text игнорируются, так как расположение узла определяется родительским элементом. Аналогично, ширина обтекания в узле Text игнорируется, так как ширина, используемая для обтекания, равна ширине узла TextFlow. Значение свойства pickOnBounds узла Text устанавливается в значение false при его размещении узлом TextFlow. Это происходит потому, что содержимое одного узла Text может быть разделено и размещено в разных местах в TextFlow (обычно из-за переноса строк и переупорядочения в соответствии с направлением письма).
Ширина обтекания макета определяется текущей шириной области. Ее можно указать, задав предпочтительную ширину узла TextFlow. Если обтекание не требуется, приложение может установить предпочтительную ширину в Double.MAX_VALUE или Region.USE_COMPUTED_SIZE.
Абзацы разделены элементом '\n', присутствующим в любом дочернем элементе Text.
Пример TextFlow:
Text text1 = new Text("Big italic red text");
text1.setFill(Color.RED);
text1.setFont(Font.font("Helvetica", FontPosture.ITALIC, 40));
Text text2 = new Text(" little bold blue text");
text2.setFill(Color.BLUE);
text2.setFont(Font.font("Helvetica", FontWeight.BOLD, 10));
TextFlow textFlow = new TextFlow(text1, text2);
TextFlow размещает каждый управляемый дочерний элемент независимо от значения свойства видимости дочернего элемента; неуправляемые дочерние элементы игнорируются во всех расчетах макета.
TextFlow может быть стилизован с помощью фона и границ с помощью CSS. См. его Region родительский класс для получения подробностей.
Диапазон изменения размеров
Родительский элемент TextFlow изменит размер TextFlow в пределах диапазона TextFlow во время макета. По умолчанию TextFlow вычисляет этот диапазон на основе своего содержимого, как показано в таблицах ниже.
| ширина | высота | |
|---|---|---|
| минимальная | отступы слева/справа | отступы сверху/снизу плюс высота текстового содержимого |
| предпочтительная | отступы слева/справа плюс ширина текстового содержимого | отступы сверху/снизу плюс высота текстового содержимого |
| максимальная | Double.MAX_VALUE |
Double.MAX_VALUE |
Неограниченная максимальная ширина и высота TextFlow указывают родителю, что он может быть изменен по размеру, превышая предпочтительный размер, чтобы заполнить предоставленное пространство.
TextFlow предоставляет свойства для непосредственного задания диапазона размеров. Эти свойства по умолчанию имеют значение Region.USE_COMPUTED_SIZE, однако приложение может установить их в другие значения по мере необходимости:
textflow.setMaxWidth(500);
Приложения могут восстановить вычисленные значения, установив эти свойства обратно в значение Region.USE_COMPUTED_SIZE. TextFlow по умолчанию не обрезает свое содержимое, поэтому границы дочерних элементов могут выходить за пределы собственных границ, если предпочтительный размер дочернего элемента больше, чем пространство, которое TextFlow должен выделить для него.
- С:
- JavaFX 8.0
Сводка свойств
| Тип | Свойство | Описание |
|---|---|---|
final DoubleProperty |
lineSpacing |
Определяет вертикальное расстояние в пикселях между строками. |
final IntegerProperty |
tabSize |
Размер отступа табуляции в пробелах. |
final ObjectProperty |
textAlignment |
Определяет горизонтальное выравнивание текста. |
Свойства, объявленные в классе 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
Сводка конструкторов
| Конструктор | Описание |
|---|---|
TextFlow() |
Создаёт пустой макет TextFlow. |
TextFlow |
Создаёт макет TextFlow с указанными дочерними элементами. |
Сводка методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
PathElement[] |
caretShape |
Возвращает форму курсора в локальных координатах. |
final double |
getBaselineOffset() |
Вычисляет смещение базовой линии, основываясь на первом управляемом дочернем элементе. |
static List |
getClassCssMetaData() |
Получает CssMetaData, ассоциированное с этим классом, которое может включать CssMetaData его суперклассов. |
final double |
getLineSpacing() |
Получает значение свойства lineSpacing. |
final int |
getTabSize() |
Получает значение свойства tabSize. |
final TextAlignment |
getTextAlignment() |
Получает значение свойства textAlignment. |
final HitInfo |
hitTest |
Преобразует локальную точку в HitInfo в содержимом. |
final DoubleProperty |
lineSpacingProperty() |
Определяет вертикальное расстояние в пикселях между строками. |
final PathElement[] |
rangeShape |
Возвращает форму для диапазона текста в локальных координатах. |
final void |
setLineSpacing |
Устанавливает значение свойства lineSpacing. |
final void |
setTabSize |
Устанавливает значение свойства tabSize. |
final void |
setTextAlignment |
Устанавливает значение свойства textAlignment. |
final IntegerProperty |
tabSizeProperty() |
Размер отступа табуляции в пробелах. |
final ObjectProperty |
textAlignmentProperty() |
Определяет горизонтальное выравнивание текста. |
final PathElement[] |
underlineShape |
Возвращает форму подчеркивания в локальных координатах. |
Методы, объявленные в классе javafx.scene.layout.Pane
getChildren
Методы, объявленные в классе javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getBackground, getBorder, getCssMetaData, 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
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, getContentBias, 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
Подробности свойства
textAlignment
public final ObjectProperty<TextAlignment> textAlignmentProperty
- Значение по умолчанию:
- TextAlignment.LEFT
- См. также:
lineSpacing
public final DoubleProperty lineSpacingProperty
- Значение по умолчанию:
- 0
- С:
- JavaFX 8.0
- См. также:
tabSize
public final IntegerProperty tabSizeProperty
tabSize содержащихся узлов Text.- Значение по умолчанию:
- 8
- С:
- 14
- См. также:
Подробности конструктора
TextFlow
public TextFlow()
TextFlow
public TextFlow(Node... children)
- Параметры:
-
children- дочерние элементы.
Подробности метода
hitTest
public final HitInfo hitTest(Point2D point)
HitInfo в содержании.- Параметры:
-
point- указанная точка для проверки - Возвращает:
HitInfo, представляющий найденный индекс символа- С:
- 9
caretShape
public PathElement[] caretShape(int charIndex, boolean leading)
- Параметры:
-
charIndex- индекс символа для курсора -
leading- смещён ли курсор по ведущему краю символа - Возвращает:
- массив
PathElement, который можно использовать для созданияShape - С:
- 9
rangeShape
public final PathElement[] rangeShape(int start, int end)
- Параметры:
-
start- начальный индекс символа для диапазона -
end- конечный индекс символа (не включая) для диапазона - Возвращает:
- массив
PathElement, который можно использовать для созданияShape - С:
- 9
underlineShape
public final PathElement[] underlineShape(int start, int end)
- Параметры:
-
start- начальный индекс символа для диапазона -
end- конечный индекс символа (не включая) для диапазона - Возвращает:
- массив
PathElement, который можно использовать для созданияShape - С:
- 21
setTextAlignment
public final void setTextAlignment(TextAlignment value)
textAlignment.- Описание свойства:
- Определяет горизонтальное выравнивание текста.
- Значение по умолчанию:
- TextAlignment.LEFT
- Параметры:
-
value- значение для свойстваtextAlignment - См. также:
getTextAlignment
public final TextAlignment getTextAlignment()
textAlignment.- Описание свойства:
- Определяет горизонтальное выравнивание текста.
- Значение по умолчанию:
- TextAlignment.LEFT
- Возвращает:
- значение свойства
textAlignment - См. также:
textAlignmentProperty
public final ObjectProperty<TextAlignment> textAlignmentProperty()
- Значение по умолчанию:
- TextAlignment.LEFT
- Возвращает:
- свойство
textAlignment - См. также:
setLineSpacing
public final void setLineSpacing(double spacing)
lineSpacing.- Описание свойства:
- Определяет вертикальное расстояние в пикселях между строками.
- Значение по умолчанию:
- 0
- Параметры:
-
spacing- значение для свойстваlineSpacing - С:
- JavaFX 8.0
- См. также:
getLineSpacing
public final double getLineSpacing()
lineSpacing.- Описание свойства:
- Определяет вертикальное расстояние в пикселях между строками.
- Значение по умолчанию:
- 0
- Возвращает:
- значение свойства
lineSpacing - С:
- JavaFX 8.0
- См. также:
lineSpacingProperty
public final DoubleProperty lineSpacingProperty()
- Значение по умолчанию:
- 0
- Возвращает:
- свойство
lineSpacing - С:
- JavaFX 8.0
- См. также:
tabSizeProperty
public final IntegerProperty tabSizeProperty()
tabSize содержащихся узлов Text.- Значение по умолчанию:
- 8
- Возвращает:
- свойство
tabSize - С:
- 14
- См. также:
getTabSize
public final int getTabSize()
tabSize.- Описание свойства:
- Размер отступа табуляции в пробелах. Значения меньше 1 обрабатываются как 1. Это значение переопределяет
tabSizeсодержащихся узловText. - Значение по умолчанию:
- 8
- Возвращает:
- значение свойства
tabSize - С:
- 14
- См. также:
setTabSize
public final void setTabSize(int spaces)
tabSize.- Описание свойства:
- Размер отступа табуляции в пробелах. Значения меньше 1 обрабатываются как 1. Это значение переопределяет
tabSizeсодержащихся узловText. - Значение по умолчанию:
- 8
- Параметры:
-
spaces- значение для свойстваtabSize - С:
- 14
- См. также:
getBaselineOffset
public final double getBaselineOffset()
ParentNode.getBaselineOffset().- Переопределяет:
-
getBaselineOffsetв классеParent - Возвращает:
- смещение базовой линии
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
CssMetaData, связанные с этим классом, которые могут включать CssMetaData его суперклассов.- Возвращает:
CssMetaData
© 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.