Spec-Zone.ru › OpenJDK 24

Класс 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
Поведение для поддержания обновлённости потока.

Поля, объявленные в классе javax.swing.text.View

BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS

Поля, объявленные в интерфейсе javax.swing.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()
Создание представления, которое должно содержать строку дочерних элементов в потоке.
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)
Уведомление о том, что запись была удалена из документа в позиции, за которую отвечает это представление.

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

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

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

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

Методы, объявленные в классе java.lang.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()
Создаёт представление, которое должно использоваться для хранения строк дочерних элементов в потоке. Этот метод вызывается FlowStrategy, когда добавляются или удаляются новые дочерние элементы (т.е. строки добавляются или удаляются) в процессе обновления потока.
Возвращает:
представление, которое должно использоваться для хранения строк дочерних элементов в потоке

loadChildren

protected void loadChildren(ViewFactory f)
Загружает все дочерние элементы для инициализации представления. Этот метод вызывается методом setParent. Этот метод переопределён так, чтобы не загружать дочерние элементы напрямую (так как они создаются в процессе форматирования). Если переменная layoutPool равна null, создаётся экземпляр LogicalView для представления логического представления, используемого в процессе форматирования.
Переопределяет:
loadChildren в классе CompositeView
Параметры:
f - фабрика представлений
См. также:
  • CompositeView.setParent(javax.swing.text.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(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

removeUpdate

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

changedUpdate

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/FlowView.html

Spec-Zone.ru

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