Класс TextFlow
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.layout.Pane
-
- javafx.scene.text.TextFlow
Все реализованные интерфейсы:
public class TextFlow extends Pane
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 вычисляет этот диапазон на основе его содержимого, как указано в таблицах ниже.| ширина | высота | |
|---|---|---|
| минимальное | внутренние отступы слева/справа | внутренние отступы сверху/снизу плюс высота текстового содержимого |
| предпочтительное | внутренние отступы слева/справа плюс ширина текстового содержимого | внутренние отступы сверху/снизу плюс высота текстового содержимого |
| максимальное | Double.MAX_VALUE | Double.MAX_VALUE |
Неограниченная максимальная ширина и высота textflow — указание для родительского элемента о том, что он может быть изменён размером, превышающим предпочтительный размер, для заполнения назначенного ему места.
TextFlow предоставляет свойства для прямого задания диапазона размеров. Эти свойства по умолчанию имеют значение Region.USE_COMPUTED_SIZE, однако приложение может установить их в другие значения по мере необходимости:
textflow.setMaxWidth(500);Приложения могут восстановить вычисленные значения, установив эти свойства обратно в Region.USE_COMPUTED_SIZE.
TextFlow по умолчанию не обрезает своё содержимое, поэтому возможно, что границы дочерних элементов могут выходить за пределы собственных границ, если предпочтительный размер дочернего элемента больше, чем пространство, которое Textflow может выделить для него.
С момента:
JavaFX 8.0
-
Краткое описание свойств
Все методыМетоды экземпляраКонкретные методы Тип Свойство и описание DoublePropertylineSpacingОпределяет вертикальное расстояние в пикселях между строками.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, 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 с заданными дочерними элементами.
-
Краткое описание методов
Все методыСтатические методыМетоды экземпляраКонкретные методы Модификатор и тип Метод и описание protected doublecomputeMinHeight(double width)Вычисляет минимальную высоту этой области.protected doublecomputePrefHeight(double width)Вычисляет предпочтительную высоту этой области для заданной ширины; подклассы Region должны переопределять этот метод, чтобы возвращать соответствующее значение на основе своего содержимого и стратегии макета.protected doublecomputePrefWidth(double height)Вычисляет предпочтительную ширину этой области для заданной высоты.doublegetBaselineOffset()Вычисляет смещение базовой линии на основе первого управляемого дочернего элемента.static List<CssMetaData<? extends Styleable,?>>getClassCssMetaData()OrientationgetContentBias()Возвращает ориентацию смещения изменения размера узла для целей макета.List<CssMetaData<? extends Styleable,?>>getCssMetaData()Этот метод должен делегироватьNode.getClassCssMetaData(), чтобы CssMetaData узла можно было получить без необходимости в рефлексии.doublegetLineSpacing()Получает значение свойства lineSpacing.TextAlignmentgetTextAlignment()Получает значение свойства textAlignment.protected voidlayoutChildren()Вызывается во время прохода макета для размещения дочерних элементов в этомParent.DoublePropertylineSpacingProperty()Определяет вертикальное расстояние в пикселях между строками.ObjectqueryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)Этот метод вызывается средствами вспомогательной технологии для запроса значения атрибута.voidrequestLayout()Запрашивает проход макета, который будет выполнен перед рендерингом следующей сцены.voidsetLineSpacing(double spacing)Устанавливает значение свойства lineSpacing.voidsetTextAlignment(TextAlignment value)Устанавливает значение свойства textAlignment.protected voidsetWidth(double value)Устанавливает значение свойства width.ObjectProperty<TextAlignment>textAlignmentProperty()Определяет горизонтальное выравнивание текста.booleanusesMirroring()Определяет, должен ли узел быть зеркальным, когда ориентация узла — справа налево.-
Методы, унаследованные от класса javafx.scene.layout.Pane
getChildren
-
Методы, унаследованные от класса javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinWidth, 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, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapSize, snapSpace, snapToPixelProperty, widthProperty
-
Методы, унаследованные от класса javafx.scene.Parent
getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, 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, 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, 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, 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, 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, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, visibleProperty
-
-
Подробности свойств
-
textAlignment
public final ObjectProperty<TextAlignment> textAlignmentProperty
Определяет горизонтальное выравнивание текста.Значение по умолчанию:
TextAlignment.LEFT
См. также:
-
lineSpacing
public final DoubleProperty lineSpacingProperty
Определяет вертикальное расстояние в пикселях между строками.
-
-
Подробности конструкторов
-
TextFlow
public TextFlow()
Создаёт пустой макет TextFlow.
-
TextFlow
public TextFlow(Node... children)
Создаёт макет TextFlow с указанными дочерними элементами.Параметры:
children- дочерние элементы.
-
-
Подробное описание методов
-
usesMirroring
public boolean usesMirroring()
Описание скопировано из класса:NodeОпределяет, следует ли зеркально отображать узел при ориентации узла справа налево.При зеркальном отображении узла начало координат автоматически перемещается в верхний правый угол, в результате чего узел выстраивает своих потомков и рисует их справа налево, используя преобразование отражения. Некоторые узлы могут захотеть рисовать справа налево без применения преобразования. Эти узлы ответят на
falseи реализуют ориентацию справа налево без использования автоматического преобразования.Переопределяет:
usesMirroringв классеNode
-
setWidth
protected void setWidth(double value)
Описание скопировано из класса:RegionУстанавливает значение свойства width.
-
computePrefWidth
protected double computePrefWidth(double height)
Описание скопировано из класса:RegionВычисляет предпочтительную ширину этого региона для заданной высоты. Подклассы Region должны переопределить этот метод, чтобы вернуть соответствующее значение на основе своего содержимого и стратегии макета. Если у подкласса нет вертикальной направленности содержимого, то параметр высоты можно игнорировать.Переопределяет:
computePrefWidthв классеRegionПараметры:
height- высота, которая должна быть использована, если предпочтительная ширина зависит от нееВозвращает:
вычисленную предпочтительную ширину для этого региона
-
computePrefHeight
protected double computePrefHeight(double width)
Описание скопировано из класса:RegionВычисляет предпочтительную высоту этого региона для заданной ширины; подклассы Region должны переопределить этот метод, чтобы вернуть соответствующее значение на основе своего содержимого и стратегии макета. Если у подкласса нет горизонтальной направленности содержимого, то параметр ширины можно игнорировать.Переопределяет:
computePrefHeightв классеRegionПараметры:
width- ширина, которая должна быть использована, если предпочтительная высота зависит от нееВозвращает:
вычисленную предпочтительную высоту для этого региона
-
computeMinHeight
protected double computeMinHeight(double width)
Описание скопировано из класса:RegionВычисляет минимальную высоту этого региона. По умолчанию возвращает сумму отступов сверху и снизу. Подклассы Region должны переопределить этот метод, чтобы вернуть соответствующее значение на основе своего содержимого и стратегии макета. Если у подкласса нет горизонтальной направленности содержимого, то параметр ширины можно игнорировать.Переопределяет:
computeMinHeightв классеRegionПараметры:
width- ширина, которая должна быть использована, если минимальная высота зависит от нееВозвращает:
вычисленную минимальную высоту для этого региона
-
requestLayout
public void requestLayout()
Описание скопировано из класса:ParentЗапрашивает выполнение прохода макета перед отрисовкой следующей сцены. Это выполняется асинхронно, в пакетном режиме, один раз за «пульс» или кадр анимации.Если этот родитель является корнем макета или не управляемым, то он будет добавлен непосредственно в список грязных элементов макета сцены, в противном случае будет вызван requestParentLayout.
Переопределяет:
requestLayoutв классеParent
-
getContentBias
public Orientation getContentBias()
Описание скопировано из класса:NodeВозвращает ориентацию смещения изменения размера узла для целей макета. Если у типа узла нет смещения, возвращает null. Если узел изменяет размер, и его высота зависит от ширины, возвращает HORIZONTAL, иначе, если его ширина зависит от высоты, возвращает VERTICAL.Подклассы, изменяющие размер, должны переопределить этот метод, чтобы вернуть соответствующее значение.
Переопределяет:
getContentBiasв классеNodeВозвращает:
ориентация зависимости ширины/высоты или null, если такой зависимости нет
-
layoutChildren
protected void layoutChildren()
Описание скопировано из класса:ParentВызывается во время прохода макета для выстраивания дочерних элементов в этомParent. По умолчанию он устанавливает размер управляемого, изменяемого содержимого на их предпочтительные размеры и не выполняет позиционирование узлов.Подклассы должны переопределить эту функцию для выстраивания содержимого по мере необходимости.
Переопределяет:
layoutChildrenв классеParent
-
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
См. также:
-
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()
Определяет вертикальное расстояние в пикселях между строками.
-
getBaselineOffset
public final double getBaselineOffset()
Описание скопировано из класса:ParentВычисляет смещение базовой линии на основе первого управляемого дочернего элемента. Если такого элемента нет, возвращаетNode.getBaselineOffset().Переопределяет:
getBaselineOffsetв классеParentВозвращает:
смещение базовой линии
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
Возвращает:
CssMetaData, связанная с этим классом, которая может включать CssMetaData его родительских классов.
-
getCssMetaData
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
Описание скопировано из класса:RegionЭтот метод должен делегировать вызовNode.getClassCssMetaData(), чтобы можно было получить доступ к CssMetaData узла без необходимости в рефлексии.Определено в:
getCssMetaDataв интерфейсеStyleableПереопределяет:
getCssMetaDataв классеRegionВозвращает:
CssMetaData, связанная с этим узлом, которая может включать CssMetaData его родительских классов.
-
queryAccessibleAttribute
public Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)Описание скопировано из класса:NodeЭтот метод вызывается технологией вспомогательных средств для запроса значения атрибута.Этот метод обычно переопределяется подклассами для реализации атрибутов, необходимых для определённой роли.
Если конкретный атрибут не обрабатывается, необходимо вызвать реализацию родительского класса.Переопределяет:
queryAccessibleAttributeв классеParentПараметры:
attribute- запрашиваемый атрибутВозвращает:
значение для запрошенного атрибута
См. также:
-
© 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.