Spec-Zone.ru › OpenJavaFX 24

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

Таблица изменения размеров 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> 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(Node... children)
Создаёт макет TextFlow с указанными дочерними элементами.

Сводка методов

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

Методы, объявленные в классе 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
См. также:
  • getTextAlignment()
  • setTextAlignment(TextAlignment)
  • textAlignmentProperty()

lineSpacing

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

tabSize

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

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

TextFlow

public TextFlow()
Создаёт пустую компоновку TextFlow.

TextFlow

public TextFlow(Node... children)
Создаёт компоновку TextFlow с заданными дочерними элементами.
Параметры:
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()
  • textAlignmentProperty()

getTextAlignment

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

textAlignmentProperty

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

setLineSpacing

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

getLineSpacing

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

lineSpacingProperty

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

tabSizeProperty

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

getTabSize

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

setTabSize

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

getBaselineOffset

public final double getBaselineOffset()
Описание, скопированное из класса: Parent
Вычисляет смещение базовой линии, основываясь на первом управляемом дочернем элементе. Если такого элемента нет, возвращает Node.getBaselineOffset().
Переопределяет:
getBaselineOffset в классе Parent
Возвращает:
смещение базовой линии

getClassCssMetaData

public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
Получает CssMetaData, связанные с этим классом, которые могут включать CssMetaData его суперклассов.
Возвращает:
CssMetaData

Отправить отчет об ошибке или предложить улучшение
Авторские права © 2008, 2025, Oracle и/или его аффилированные лица. Все права защищены.

© 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