Spec-Zone.ru › OpenJavaFX 17

Класс TextFlow

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.layout.Pane
javafx.scene.text.TextFlow
Все реализуемые интерфейсы:
Styleable, EventTarget
public class TextFlow
extends Pane
TextFlow — специальная компоновка, предназначенная для вывода форматированного текста. Она может использоваться для компоновки нескольких узлов Text в одном потоке текста. TextFlow использует текст и шрифт каждого узла Text внутри него, а также собственную ширину и выравнивание текста, чтобы определить расположение каждого дочернего элемента. Один узел Text может занимать несколько строк из-за переноса, а визуальное расположение узла Text может отличаться от логического расположения из-за переупорядочения в соответствии с направлением письма.

Любой узел, кроме 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 компонует каждый управляемый дочерний элемент независимо от значения свойства visible дочернего элемента; неуправляемые дочерние элементы игнорируются при всех расчётах компоновки.

TextFlow может быть стилизован с помощью фонов и границ с помощью CSS. Подробности см. в суперклассе Region.

Диапазон изменения размера

Родительский элемент textflow будет изменять размер textflow в пределах диапазона textflow во время компоновки. По умолчанию textflow вычисляет этот диапазон на основе своего содержимого, как показано в таблицах ниже.

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

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

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


     textflow.setMaxWidth(500);
 
Приложение может восстановить вычисленные значения, установив эти свойства обратно в Region.USE_COMPUTED_SIZE.

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

С момента:
JavaFX 8.0

Краткое описание свойств

Свойства
Тип Свойство Описание
DoubleProperty lineSpacing
Определяет вертикальное расстояние в пикселях между строками.
IntegerProperty tabSize
Размер отступа табуляции в пробелах.
ObjectProperty<TextAlignment> 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, 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​(Node... children)
Создаёт макет TextFlow с заданными дочерними элементами.

Краткое описание методов

Модификатор и тип Метод Описание
PathElement[] caretShape​(int charIndex, boolean leading)
Возвращает форму курсора в локальных координатах.
static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()
double getLineSpacing()
Возвращает значение свойства lineSpacing.
int getTabSize()
Возвращает значение свойства tabSize.
TextAlignment getTextAlignment()
Возвращает значение свойства textAlignment.
HitInfo hitTest​(Point2D point)
Преобразует локальную точку в индекс в контенте.
DoubleProperty lineSpacingProperty()
Определяет вертикальное расстояние в пикселях между строками.
PathElement[] rangeShape​(int start, int end)
Возвращает форму области текста в локальных координатах.
void setLineSpacing​(double spacing)
Устанавливает значение свойства lineSpacing.
void setTabSize​(int spaces)
Устанавливает значение свойства tabSize.
void setTextAlignment​(TextAlignment value)
Устанавливает значение свойства textAlignment.
IntegerProperty tabSizeProperty()
Размер отступа табуляции в пробелах.
ObjectProperty<TextAlignment> textAlignmentProperty()
Определяет горизонтальное выравнивание текста.

Методы, объявленные в классе 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

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, 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, 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

Подробное описание свойств

textAlignment

public final ObjectProperty<TextAlignment> textAlignmentProperty
Определяет горизонтальное выравнивание текста.
Значение по умолчанию:
TextAlignment.LEFT
См. также:
getTextAlignment(), setTextAlignment(TextAlignment)

lineSpacing

public final DoubleProperty lineSpacingProperty
Определяет вертикальное расстояние в пикселях между строками.
Значение по умолчанию:
0
С:
JavaFX 8.0
См. также:
getLineSpacing(), setLineSpacing(double)

tabSize

public final IntegerProperty tabSizeProperty
Размер отступа табуляции в пробелах. Значения меньше 1 рассматриваются как 1. Это значение переопределяет tabSize содержащихся узлов Text.
Значение по умолчанию:
8
С:
14
См. также:
getTabSize(), setTabSize(int)

Подробное описание конструкторов

TextFlow

public TextFlow()
Создает пустой макет TextFlow.

TextFlow

public TextFlow(Node... children)
Создает макет TextFlow с заданными дочерними элементами.
Параметры:
children - дочерние элементы.

Подробное описание методов

hitTest

public final HitInfo hitTest(Point2D point)
Преобразует локальную точку в индекс в содержимом.
Параметры:
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

setTextAlignment

public final void setTextAlignment(TextAlignment value)
Устанавливает значение свойства textAlignment.
Описание свойства:
Определяет горизонтальное выравнивание текста.
Значение по умолчанию:
TextAlignment.LEFT

getTextAlignment

public final TextAlignment getTextAlignment()
Получает значение свойства textAlignment.
Описание свойства:
Определяет горизонтальное выравнивание текста.
Значение по умолчанию:
TextAlignment.LEFT

textAlignmentProperty

public final ObjectProperty<TextAlignment> textAlignmentProperty()
Определяет горизонтальное выравнивание текста.
Значение по умолчанию:
TextAlignment.LEFT
См. также:
getTextAlignment(), setTextAlignment(TextAlignment)

setLineSpacing

public final void setLineSpacing(double spacing)
Устанавливает значение свойства lineSpacing.
Описание свойства:
Определяет вертикальное расстояние в пикселях между строками.
Значение по умолчанию:
0
С:
JavaFX 8.0

getLineSpacing

public final double getLineSpacing()
Получает значение свойства lineSpacing.
Описание свойства:
Определяет вертикальное расстояние в пикселях между строками.
Значение по умолчанию:
0
С:
JavaFX 8.0

lineSpacingProperty

public final DoubleProperty lineSpacingProperty()
Определяет вертикальное расстояние в пикселях между строками.
Значение по умолчанию:
0
С:
JavaFX 8.0
См. также:
getLineSpacing(), setLineSpacing(double)

tabSizeProperty

public final IntegerProperty tabSizeProperty()
Размер отступа табуляции в пробелах. Значения меньше 1 рассматриваются как 1. Это значение переопределяет tabSize содержащихся узлов Text.
Значение по умолчанию:
8
С:
14
См. также:
getTabSize(), setTabSize(int)

getTabSize

public final int getTabSize()
Получает значение свойства tabSize.
Описание свойства:
Размер отступа табуляции в пробелах. Значения меньше 1 рассматриваются как 1. Это значение переопределяет tabSize содержащихся узлов Text.
Значение по умолчанию:
8
С:
14

setTabSize

public final void setTabSize(int spaces)
Устанавливает значение свойства tabSize.
Описание свойства:
Размер отступа табуляции в пробелах. Значения меньше 1 рассматриваются как 1. Это значение переопределяет tabSize содержащихся узлов Text.
Значение по умолчанию:
8
С:
14

getClassCssMetaData

public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
Возвращает:
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.

Spec-Zone.ru

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