Класс 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
Поля, объявленные в интерфейсе 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 |
Создает FlowView для указанного элемента. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected SizeRequirements |
calculateMinorAxisRequirements |
Вычисляет требования вдоль второстепенной оси. |
void |
changedUpdate |
Уведомляет о том, что документ изменил атрибуты в области, за которую отвечает данное представление. |
protected abstract View |
createRow() |
Создает View, предназначенное для размещения в потоке дочерних элементов одной строки. |
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
Методы, объявленные в классе 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
Подробное описание полей
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
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/FlowView.html