Spec-Zone.ru › OpenJDK 25

Класс FlowView

java.lang.Object
javax.swing.text.View
javax.swing.text.CompositeView
javax.swing.text.BoxView
javax.swing.text.FlowView
Все реализованные интерфейсы:
SwingConstants
Прямые известные подклассы:
ParagraphView
public abstract class FlowView extends BoxView
Представление, которое пытается разместить свои дочерние элементы в некоторой частично ограниченной области. Это можно использовать для создания таких элементов, как абзацы, страницы и т. д. Поток состоит из следующих функциональных частей.
  • Логический набор дочерних представлений, используемый как пул для компоновки, из которого формируется физическое представление.
  • Стратегия преобразования логического представления в физическое (потоковое) представление.
  • Ограничения, в рамках которых работает стратегия.
  • Физическая структура, представляющая поток. Дочерние элементы этого представления — это места, куда помещаются части логических представлений для создания потока.
Начиная с версии:
1.3
См. также:
  • View

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static class  FlowView.FlowStrategy
Стратегия поддержания физической формы потока.

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

Модификатор и тип Поле Описание
protected View layoutPool
Это представления, соответствующие дочерним элементам элемента, который представляет данное представление (логическое представление, преобразуемое в физическое).
protected int layoutSpan
Ограничение по умолчанию, в соответствии с которым создается поток.
protected FlowView.FlowStrategy strategy
Поведение, обеспечивающее актуальность потока.

Поля, объявленные в классе View

BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS

Поля, объявленные в интерфейсе SwingConstants

BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST

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

Конструктор Описание
FlowView(Element elem, int axis)
Создает FlowView для указанного элемента.

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

Модификатор и тип Метод Описание
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
Вычисляет требования вдоль второстепенной оси.
void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
Уведомляет о том, что документ изменил атрибуты в области, за которую отвечает данное представление.
protected abstract View createRow()
Создает View, предназначенное для размещения в потоке дочерних элементов одной строки.
int getFlowAxis()
Возвращает ось, вдоль которой следует размещать представления в потоке.
int getFlowSpan(int index)
Возвращает ограничивающую ширину потока для указанного индекса дочернего элемента.
int getFlowStart(int index)
Возвращает положение вдоль оси потока, с которого начинается область потока.
protected int getViewIndexAtPosition(int pos)
Возвращает индекс дочернего представления, соответствующего указанной позиции в модели.
void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
Уведомляет о том, что в документ в области, за которую отвечает данное представление, был добавлен элемент.
protected void layout(int width, int height)
Выполняет компоновку дочерних элементов.
protected void loadChildren(ViewFactory f)
Загружает все дочерние элементы для инициализации представления.
void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
Уведомляет о том, что из документа в области, за которую отвечает данное представление, был удален элемент.

Методы, объявленные в классе BoxView

baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAlignment, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paint, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel

Методы, объявленные в классе CompositeView

getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent

Методы, объявленные в классе View

append, breakView, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, isVisible, modelToView, remove, removeAll, updateChildren, updateLayout, viewToModel

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

layoutSpan

protected int layoutSpan
Ограничение по умолчанию, в соответствии с которым создается поток.

layoutPool

protected View layoutPool
Это представления, соответствующие дочерним элементам элемента, который представляет данное представление (логическое представление, преобразуемое в физическое). Они не являются непосредственными дочерними элементами данного представления. Их либо напрямую помещают в строки, либо используют для разбиения на более мелкие части с целью формирования физического представления.

strategy

protected FlowView.FlowStrategy strategy
Поведение, обеспечивающее актуальность потока. По умолчанию используется единственный экземпляр, общий для всех экземпляров FlowView (FlowStrategy не хранит состояние). Подклассы могут создавать альтернативную стратегию, которая может хранить состояние.

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

FlowView

public FlowView(Element elem, int axis)
Создает FlowView для указанного элемента.
Параметры:
elem — элемент, за который отвечает данное представление
axis — может иметь значение View.X_AXIS или View.Y_AXIS

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

getFlowAxis

public int getFlowAxis()
Возвращает ось, вдоль которой следует размещать представления в потоке. По умолчанию это ось, ортогональная оси, вдоль которой располагаются строки потока (оси самих строк потока по умолчанию). Обычно используется методом FlowStrategy.
Возвращает:
ось, вдоль которой следует размещать представления в потоке

getFlowSpan

public int getFlowSpan(int index)
Возвращает ограничивающую ширину потока для указанного индекса дочернего элемента. Этот метод вызывается FlowStrategy при обновлении потока. Форму потока можно задавать, предоставляя различные значения ограничений для строк. По умолчанию возвращается вся доступная ширина вдоль оси потока внутри отступов.
Параметры:
index — индекс обновляемой строки. Значение должно быть >= 0 и < getViewCount().
Возвращает:
ограничивающую ширину потока для указанного индекса дочернего элемента
См. также:
  • getFlowStart(int)

getFlowStart

public int getFlowStart(int index)
Возвращает положение вдоль оси потока, с которого начинается область потока. Этот метод вызывается FlowStrategy при обновлении потока. Форму потока можно задавать, предоставляя различные значения ограничений для строк.
Параметры:
index — индекс обновляемой строки. Значение должно быть >= 0 и < getViewCount().
Возвращает:
положение вдоль оси потока, с которого начинается область потока
См. также:
  • getFlowSpan(int)

createRow

protected abstract View createRow()
Создает View, предназначенное для размещения в потоке дочерних элементов одной строки. Этот метод вызывается FlowStrategy при добавлении или удалении дочерних элементов (то есть строк) в процессе обновления потока.
Возвращает:
View, предназначенное для размещения в потоке дочерних элементов одной строки

loadChildren

protected void loadChildren(ViewFactory f)
Загружает все дочерние элементы для инициализации представления. Этот метод вызывается методом setParent. Метод переопределен так, чтобы напрямую не загружать дочерние элементы (поскольку они создаются в процессе форматирования). Если переменная layoutPool имеет значение null, создается экземпляр LogicalView, представляющий логическое представление, используемое в процессе форматирования.
Переопределяет:
loadChildren в классе CompositeView
Параметры:
f — фабрика представлений
См. также:
  • CompositeView.setParent(View)

getViewIndexAtPosition

protected int getViewIndexAtPosition(int pos)
Возвращает индекс дочернего представления, соответствующего указанной позиции в модели.
Переопределяет:
getViewIndexAtPosition в классе CompositeView
Параметры:
pos — позиция >= 0
Возвращает:
индекс представления, соответствующего указанной позиции, или -1, если ни одно представление ей не соответствует

layout

protected void layout(int width, int height)
Выполняет компоновку дочерних элементов. Если ширина вдоль оси потока изменилась, компоновка помечается как недействительная, что заставляет суперкласс пересчитать компоновку вдоль оси блока. Для соответствующего перестроения строк потока будет вызван метод FlowStrategy.layout. Если высота данного представления изменится (определяется предпочтительным размером вдоль оси блока), вызывается preferenceChanged. После этого выполняется обычная компоновка блока суперкласса.
Переопределяет:
layout в классе BoxView
Параметры:
width — ширина, относительно которой выполняется компоновка, >= 0. Это ширина внутри области отступов.
height — высота, относительно которой выполняется компоновка, >= 0. Это высота внутри области отступов.

calculateMinorAxisRequirements

protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
Вычисляет требования вдоль второстепенной оси. Реализация перенаправляет запрос логическому представлению, вызывая для него getMinimumSpan, getPreferredSpan и getMaximumSpan.
Переопределяет:
calculateMinorAxisRequirements в классе BoxView
Параметры:
axis — исследуемая ось
r — объект SizeRequirements; если null, будет создан новый объект
Возвращает:
новый инициализированный объект SizeRequirements
См. также:
  • SizeRequirements

insertUpdate

public void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
Уведомляет о том, что в документ в области, за которую отвечает данное представление, был добавлен элемент.
Переопределяет:
insertUpdate в классе View
Параметры:
changes — сведения об изменении из связанного документа
a — текущее размещение представления
f — фабрика, используемая для перестроения, если у представления есть дочерние элементы
См. также:
  • View.insertUpdate(DocumentEvent, Shape, ViewFactory)

removeUpdate

public void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
Уведомляет о том, что из документа в области, за которую отвечает данное представление, был удален элемент.
Переопределяет:
removeUpdate в классе View
Параметры:
changes — сведения об изменении из связанного документа
a — текущее размещение представления
f — фабрика, используемая для перестроения, если у представления есть дочерние элементы
См. также:
  • View.removeUpdate(DocumentEvent, Shape, ViewFactory)

changedUpdate

public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
Уведомляет о том, что документ изменил атрибуты в области, за которую отвечает данное представление.
Переопределяет:
changedUpdate в классе View
Параметры:
changes — сведения об изменении из связанного документа
a — текущее размещение представления
f — фабрика, используемая для перестроения, если у представления есть дочерние элементы
См. также:
  • View.changedUpdate(DocumentEvent, Shape, ViewFactory)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзор концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/FlowView.html

Spec-Zone.ru

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