Класс 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
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
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 |
Создает FlowView для заданного элемента. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected SizeRequirements |
calculateMinorAxisRequirements |
Вычисляет требования вдоль малой оси. |
void |
changedUpdate |
Получает уведомление от документа об изменении атрибутов в области, за которую отвечает это представление. |
protected abstract View |
createRow() |
Создает представление, предназначенное для размещения в потоке дочерних элементов размером в одну строку. |
int |
getFlowAxis() |
Возвращает ось, вдоль которой следует размещать представления в потоке. |
int |
getFlowSpan |
Возвращает ограничивающий размер потока для заданного индекса дочернего элемента. |
int |
getFlowStart |
Возвращает положение вдоль оси потока, с которого начинается размер потока. |
protected int |
getViewIndexAtPosition |
Возвращает индекс дочернего представления, соответствующий заданной позиции в модели. |
void |
insertUpdate |
Получает уведомление о вставке содержимого в документ в области, за которую отвечает это представление. |
protected void |
layout |
Размещает дочерние элементы. |
protected void |
loadChildren |
Загружает все дочерние элементы для инициализации представления. |
void |
removeUpdate |
Получает уведомление об удалении содержимого из документа в области, за которую отвечает это представление. |
Методы, объявленные в классе 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 |
Вычисляет положение и размер каждого дочернего представления в этом BoxView с учетом targetSpan — ширины (или высоты) доступной области. |
protected SizeRequirements |
baselineRequirements |
Вычисляет требования к размеру этого BoxView, анализируя размер каждого дочернего представления. |
protected SizeRequirements |
calculateMajorAxisRequirements |
Вычисляет требования к размеру по главной оси axis. |
protected void |
childAllocation |
Выделяет область для дочернего представления. |
protected boolean |
flipEastAndWestAtEnds |
Определяет направление размещения следующего представления. |
protected void |
forwardUpdate |
Передает заданное DocumentEvent дочерним представлениям, которые необходимо уведомить об изменении модели. |
float |
getAlignment |
Определяет желаемое выравнивание этого представления вдоль оси. |
int |
getAxis() |
Возвращает свойство оси плиток. |
Shape |
getChildAllocation |
Возвращает область, выделенную для заданного дочернего представления. |
int |
getHeight() |
Возвращает текущую высоту блока. |
float |
getMaximumSpan |
Определяет максимальный размер этого представления вдоль оси. |
float |
getMinimumSpan |
Определяет минимальный размер этого представления вдоль оси. |
protected int |
getOffset |
Возвращает смещение текущего макета определенного дочернего элемента. |
float |
getPreferredSpan |
Определяет предпочтительный размер этого представления вдоль оси. |
int |
getResizeWeight |
Возвращает вес изменения размера. |
protected int |
getSpan |
Возвращает размер текущего макета определенного дочернего элемента. |
protected View |
getViewAtPoint |
Возвращает дочернее представление в заданных координатах. |
int |
getWidth() |
Возвращает текущую ширину блока. |
protected boolean |
isAfter |
Определяет, находится ли точка за пределами выделенной области. |
protected boolean |
isAllocationValid() |
Остаются ли выделенные для дочерних элементов области действительными? |
protected boolean |
isBefore |
Определяет, находится ли точка перед выделенной областью. |
protected boolean |
isLayoutValid |
Определяет, действителен ли макет вдоль заданной оси. |
void |
layoutChanged |
Признает макет недействительным вдоль оси. |
protected void |
layoutMajorAxis |
Выполняет макетирование блока по главной оси (то есть по оси, которую он представляет). |
protected void |
layoutMinorAxis |
Выполняет макетирование блока по малой оси (то есть по оси, перпендикулярной представляемой оси). |
Shape |
modelToView |
Преобразует координаты пространства модели документа в координаты соответствующего ей представления. |
void |
paint |
Отображает BoxView на заданной поверхности рендеринга и в заданной области этой поверхности. |
protected void |
paintChild |
Отрисовывает дочерний элемент. |
void |
preferenceChanged |
Вызывается дочерним элементом, чтобы сообщить об изменении его предпочтительного размера. |
void |
replace |
Признает макет недействительным и изменяет размер кэша запросов и выделенных областей. |
void |
setAxis |
Задает свойство оси плиток. |
void |
setSize |
Задает размер представления. |
int |
viewToModel |
Преобразует координаты представления в логические координаты модели. |
Методы, объявленные в классе CompositeView
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent | Модификатор и тип | Метод | Описание |
|---|---|---|
protected short |
getBottomInset() |
Возвращает нижний внутренний отступ. |
protected Rectangle |
getInsideAllocation |
Преобразует неизменяемую область, выделенную представлению, в изменяемую область, соответствующую внутренней области (то есть границам заданной области за вычетом верхнего, левого, нижнего и правого внутренних отступов). |
protected short |
getLeftInset() |
Возвращает левый внутренний отступ. |
protected int |
getNextEastWestVisualPositionFrom |
Возвращает следующую визуальную позицию курсора в восточном или западном направлении. |
protected int |
getNextNorthSouthVisualPositionFrom |
Возвращает следующую визуальную позицию курсора в северном или южном направлении. |
int |
getNextVisualPositionFrom |
Позволяет определить следующее визуально представленное место модели, в котором можно разместить курсор. |
protected short |
getRightInset() |
Возвращает правый внутренний отступ. |
protected short |
getTopInset() |
Возвращает верхний внутренний отступ. |
View |
getView |
Возвращает n-е представление в этом контейнере. |
protected View |
getViewAtPosition |
Возвращает дочернее представление, соответствующее заданной позиции в модели. |
int |
getViewCount() |
Возвращает количество дочерних представлений этого представления. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующий заданной позиции в модели. |
Shape |
modelToView |
Преобразует координаты пространства модели документа в координаты соответствующего ей представления. |
protected void |
setInsets |
Задает внутренние отступы представления. |
protected void |
setParagraphInsets |
Задает внутренние отступы на основе атрибутов абзаца, указанных в заданных атрибутах. |
void |
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 | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
append |
Добавляет одно дочернее представление. |
View |
breakView |
Пытается разбить это представление по заданной оси. |
View |
createFragment |
Создает представление, соответствующее части элемента. |
protected void |
forwardUpdateToView |
Передает DocumentEvent заданному дочернему представлению. |
AttributeSet |
getAttributes() |
Возвращает атрибуты, используемые при отрисовке. |
int |
getBreakWeight |
Определяет, насколько удобно разбить это представление в данном месте. |
Container |
getContainer() |
Возвращает контейнер, в котором размещено представление. |
Document |
getDocument() |
Возвращает модель, связанную с представлением. |
Element |
getElement() |
Возвращает структурную часть объекта, с которой связано это представление. |
int |
getEndOffset() |
Возвращает часть модели, за которую отвечает это представление. |
Graphics |
getGraphics() |
Возвращает Graphics для отрисовки. |
View |
getParent() |
Возвращает родительское представление. |
int |
getStartOffset() |
Возвращает часть модели, за которую отвечает это представление. |
String |
getToolTipText |
Возвращает текст всплывающей подсказки в указанном месте. |
ViewFactory |
getViewFactory() |
Возвращает реализацию ViewFactory, обеспечивающую иерархию представлений. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующий заданной позиции в представлении. |
void |
insert |
Вставляет одно дочернее представление. |
boolean |
isVisible() |
Возвращает логическое значение, указывающее, отображается ли представление. |
Shape |
modelToView |
Устарело. |
void |
remove |
Удаляет одного из дочерних элементов в заданной позиции. |
void |
removeAll() |
Удаляет все дочерние элементы. |
protected boolean |
updateChildren |
Обновляет дочерние представления в ответ на уведомление об изменении модели, если для элемента, за который отвечает это представление, имеется запись об изменении. |
protected void |
updateLayout |
Обновляет макет в ответ на уведомление об изменении модели. |
int |
viewToModel |
Устарело. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
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 |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова 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
public int getFlowStart(int index)
Получает положение вдоль оси потока, с которого начинается протяжённость потока. Этот метод вызывается FlowStrategy при обновлении потока. Форму потока можно задать, указав различные значения ограничений для строк.
- Параметры:
-
index— индекс обновляемой строки. Это значение должно быть >= 0 и < getViewCount(). - Возвращает:
- положение вдоль оси потока, с которого начинается протяжённость потока
- См. также:
createRow
protected abstract View createRow()
Создаёт View, предназначенное для размещения в потоке дочерних элементов, умещающихся в одной строке. Этот метод вызывается FlowStrategy при добавлении или удалении дочерних элементов (то есть строк) в процессе обновления потока.
- Возвращает:
- View, предназначенное для размещения в потоке дочерних элементов, умещающихся в одной строке
loadChildren
protected void loadChildren(ViewFactory f)
Загружает все дочерние элементы для инициализации представления. Этот метод вызывается методом
setParent. Метод переопределён так, чтобы не загружать дочерние элементы напрямую (поскольку они создаются в процессе форматирования). Если переменная layoutPool равна null, создаётся экземпляр LogicalView для представления логического вида, используемого в процессе форматирования.- Переопределяет:
-
loadChildrenв классеCompositeView - Параметры:
-
f— фабрика представлений - См. также:
getViewIndexAtPosition
protected int getViewIndexAtPosition(int pos)
Возвращает индекс дочернего представления, соответствующего указанной позиции в модели.
- Переопределяет:
-
getViewIndexAtPositionв классеCompositeView - Параметры:
-
pos— позиция >= 0 - Возвращает:
- индекс представления, соответствующего указанной позиции, или -1, если ни одно представление этой позиции не соответствует
layout
protected void layout(int width, int height)
Размещает дочерние элементы. Если протяжённость вдоль оси потока изменилась, размещение помечается как недействительное, в результате чего поведение суперкласса пересчитывает размещение вдоль оси блока. Для соответствующего перестроения строк потока будет вызван метод FlowStrategy.layout. Если высота этого представления изменится (что определяется предпочтительным размером вдоль оси блока), вызывается preferenceChanged. После этого выполняется обычное размещение блока, предусмотренное суперклассом.
calculateMinorAxisRequirements
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
Вычисляет требования вдоль второстепенной оси. Реализация перенаправляет запрос логическому представлению, вызывая для него getMinimumSpan, getPreferredSpan и getMaximumSpan.
- Переопределяет:
-
calculateMinorAxisRequirementsв классеBoxView - Параметры:
-
axis— исследуемая ось -
r— объектSizeRequirements; еслиnull, будет создан новый объект - Возвращает:
- новый инициализированный объект
SizeRequirements - См. также:
insertUpdate
public void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
Уведомляет о том, что в документ в области, за которую отвечает это представление, был добавлен текст.
- Переопределяет:
-
insertUpdateв классеView - Параметры:
-
changes— сведения об изменении из связанного документа -
a— текущее выделенное представлению пространство -
f— фабрика, используемая для перестроения, если у представления есть дочерние элементы - См. также:
removeUpdate
public void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
Уведомляет о том, что из документа в области, за которую отвечает это представление, был удалён текст.
- Переопределяет:
-
removeUpdateв классеView - Параметры:
-
changes— сведения об изменении из связанного документа -
a— текущее выделенное представлению пространство -
f— фабрика, используемая для перестроения, если у представления есть дочерние элементы - См. также:
changedUpdate
public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
Уведомляет об изменении атрибутов в документе в области, за которую отвечает это представление.
- Переопределяет:
-
changedUpdateв классеView - Параметры:
-
changes— сведения об изменении из связанного документа -
a— текущее выделенное представлению пространство -
f— фабрика, используемая для перестроения, если у представления есть дочерние элементы - См. также:
© 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.