Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Поле Описание
static final int BadBreakWeight
Вес, указывающий, что представление является нежелательным местом для разрыва при форматировании.
static final int ExcellentBreakWeight
Вес, указывающий, что представление поддерживает разрывы, а это место является особенно подходящим для разрыва.
static final int ForcedBreakWeight
Вес, указывающий, что представление поддерживает разрывы и должно быть разбито, чтобы корректно отображаться при размещении в представлении, которое форматирует дочерние элементы путем их разбиения.
static final int GoodBreakWeight
Вес, указывающий, что представление поддерживает разрывы, но, вероятно, существуют более подходящие места.
static final int X_AXIS
Ось для операций форматирования и разрыва.
static final int 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
Модификатор и тип Поле Описание
static final int BOTTOM
Константа ориентации блока, задающая его нижнюю сторону.
static final int CENTER
Центральное положение в области.
static final int EAST
Направление по компасу: восток (вправо).
static final int HORIZONTAL
Горизонтальная ориентация.
static final int LEADING
Обозначает передний край текста для языков с написанием слева направо и справа налево.
static final int LEFT
Константа ориентации блока, задающая его левую сторону.
static final int NEXT
Обозначает следующее направление в последовательности.
static final int NORTH
Направление по компасу: север (вверх).
static final int NORTH_EAST
Направление по компасу: северо-восток (вверх и вправо).
static final int NORTH_WEST
Направление по компасу: северо-запад (вверх и влево).
static final int PREVIOUS
Обозначает предыдущее направление в последовательности.
static final int RIGHT
Константа ориентации блока, задающая его правую сторону.
static final int SOUTH
Направление по компасу: юг (вниз).
static final int SOUTH_EAST
Направление по компасу: юго-восток (вниз и вправо).
static final int SOUTH_WEST
Направление по компасу: юго-запад (вниз и влево).
static final int TOP
Константа ориентации блока, задающая его верхнюю сторону.
static final int TRAILING
Обозначает задний край текста для языков с написанием слева направо и справа налево.
static final int VERTICAL
Вертикальная ориентация.
static final int 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()
Создает представление, предназначенное для размещения в потоке дочерних элементов размером в одну строку.
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
Модификатор и тип Метод Описание
protected void baselineLayout(int targetSpan, int axis, int[] offsets, int[] spans)
Вычисляет положение и размер каждого дочернего представления в этом BoxView с учетом targetSpan — ширины (или высоты) доступной области.
protected SizeRequirements baselineRequirements(int axis, SizeRequirements r)
Вычисляет требования к размеру этого BoxView, анализируя размер каждого дочернего представления.
protected SizeRequirements calculateMajorAxisRequirements(int axis, SizeRequirements r)
Вычисляет требования к размеру по главной оси axis.
protected void childAllocation(int index, Rectangle alloc)
Выделяет область для дочернего представления.
protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
Определяет направление размещения следующего представления.
protected void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)
Передает заданное DocumentEvent дочерним представлениям, которые необходимо уведомить об изменении модели.
float getAlignment(int axis)
Определяет желаемое выравнивание этого представления вдоль оси.
int getAxis()
Возвращает свойство оси плиток.
Shape getChildAllocation(int index, Shape a)
Возвращает область, выделенную для заданного дочернего представления.
int getHeight()
Возвращает текущую высоту блока.
float getMaximumSpan(int axis)
Определяет максимальный размер этого представления вдоль оси.
float getMinimumSpan(int axis)
Определяет минимальный размер этого представления вдоль оси.
protected int getOffset(int axis, int childIndex)
Возвращает смещение текущего макета определенного дочернего элемента.
float getPreferredSpan(int axis)
Определяет предпочтительный размер этого представления вдоль оси.
int getResizeWeight(int axis)
Возвращает вес изменения размера.
protected int getSpan(int axis, int childIndex)
Возвращает размер текущего макета определенного дочернего элемента.
protected View getViewAtPoint(int x, int y, Rectangle alloc)
Возвращает дочернее представление в заданных координатах.
int getWidth()
Возвращает текущую ширину блока.
protected boolean isAfter(int x, int y, Rectangle innerAlloc)
Определяет, находится ли точка за пределами выделенной области.
protected boolean isAllocationValid()
Остаются ли выделенные для дочерних элементов области действительными?
protected boolean isBefore(int x, int y, Rectangle innerAlloc)
Определяет, находится ли точка перед выделенной областью.
protected boolean isLayoutValid(int axis)
Определяет, действителен ли макет вдоль заданной оси.
void layoutChanged(int axis)
Признает макет недействительным вдоль оси.
protected void layoutMajorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
Выполняет макетирование блока по главной оси (то есть по оси, которую он представляет).
protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
Выполняет макетирование блока по малой оси (то есть по оси, перпендикулярной представляемой оси).
Shape modelToView(int pos, Shape a, Position.Bias b)
Преобразует координаты пространства модели документа в координаты соответствующего ей представления.
void paint(Graphics g, Shape allocation)
Отображает BoxView на заданной поверхности рендеринга и в заданной области этой поверхности.
protected void paintChild(Graphics g, Rectangle alloc, int index)
Отрисовывает дочерний элемент.
void preferenceChanged(View child, boolean width, boolean height)
Вызывается дочерним элементом, чтобы сообщить об изменении его предпочтительного размера.
void replace(int index, int length, View[] elems)
Признает макет недействительным и изменяет размер кэша запросов и выделенных областей.
void setAxis(int axis)
Задает свойство оси плиток.
void setSize(float width, float height)
Задает размер представления.
int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
Преобразует координаты представления в логические координаты модели.

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

getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent
Модификатор и тип Метод Описание
protected short getBottomInset()
Возвращает нижний внутренний отступ.
protected Rectangle getInsideAllocation(Shape a)
Преобразует неизменяемую область, выделенную представлению, в изменяемую область, соответствующую внутренней области (то есть границам заданной области за вычетом верхнего, левого, нижнего и правого внутренних отступов).
protected short getLeftInset()
Возвращает левый внутренний отступ.
protected int getNextEastWestVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)
Возвращает следующую визуальную позицию курсора в восточном или западном направлении.
protected int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)
Возвращает следующую визуальную позицию курсора в северном или южном направлении.
int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)
Позволяет определить следующее визуально представленное место модели, в котором можно разместить курсор.
protected short getRightInset()
Возвращает правый внутренний отступ.
protected short getTopInset()
Возвращает верхний внутренний отступ.
View getView(int n)
Возвращает n-е представление в этом контейнере.
protected View getViewAtPosition(int pos, Rectangle a)
Возвращает дочернее представление, соответствующее заданной позиции в модели.
int getViewCount()
Возвращает количество дочерних представлений этого представления.
int getViewIndex(int pos, Position.Bias b)
Возвращает индекс дочернего представления, соответствующий заданной позиции в модели.
Shape modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a)
Преобразует координаты пространства модели документа в координаты соответствующего ей представления.
protected void setInsets(short top, short left, short bottom, short right)
Задает внутренние отступы представления.
protected void setParagraphInsets(AttributeSet attr)
Задает внутренние отступы на основе атрибутов абзаца, указанных в заданных атрибутах.
void setParent(View parent)
Задает родительское представление.

Методы, объявленные в классе 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
Модификатор и тип Метод Описание
void append(View v)
Добавляет одно дочернее представление.
View breakView(int axis, int offset, float pos, float len)
Пытается разбить это представление по заданной оси.
View createFragment(int p0, int p1)
Создает представление, соответствующее части элемента.
protected void forwardUpdateToView(View v, DocumentEvent e, Shape a, ViewFactory f)
Передает DocumentEvent заданному дочернему представлению.
AttributeSet getAttributes()
Возвращает атрибуты, используемые при отрисовке.
int getBreakWeight(int axis, float pos, float len)
Определяет, насколько удобно разбить это представление в данном месте.
Container getContainer()
Возвращает контейнер, в котором размещено представление.
Document getDocument()
Возвращает модель, связанную с представлением.
Element getElement()
Возвращает структурную часть объекта, с которой связано это представление.
int getEndOffset()
Возвращает часть модели, за которую отвечает это представление.
Graphics getGraphics()
Возвращает Graphics для отрисовки.
View getParent()
Возвращает родительское представление.
int getStartOffset()
Возвращает часть модели, за которую отвечает это представление.
String getToolTipText(float x, float y, Shape allocation)
Возвращает текст всплывающей подсказки в указанном месте.
ViewFactory getViewFactory()
Возвращает реализацию ViewFactory, обеспечивающую иерархию представлений.
int getViewIndex(float x, float y, Shape allocation)
Возвращает индекс дочернего представления, соответствующий заданной позиции в представлении.
void insert(int offs, View v)
Вставляет одно дочернее представление.
boolean isVisible()
Возвращает логическое значение, указывающее, отображается ли представление.
Shape modelToView(int pos, Shape a)
Устарело.
void remove(int i)
Удаляет одного из дочерних элементов в заданной позиции.
void removeAll()
Удаляет все дочерние элементы.
protected boolean updateChildren(DocumentEvent.ElementChange ec, DocumentEvent e, ViewFactory f)
Обновляет дочерние представления в ответ на уведомление об изменении модели, если для элемента, за который отвечает это представление, имеется запись об изменении.
protected void updateLayout(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a)
Обновляет макет в ответ на уведомление об изменении модели.
int viewToModel(float x, float y, Shape a)
Устарело.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

layoutSpan

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

layoutPool

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

strategy

protected FlowView.FlowStrategy strategy
Поведение, обеспечивающее актуальность потока. По умолчанию это singleton, общий для всех экземпляров 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, 2026, 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.

Spec-Zone.ru

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