Класс 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) Уведомление об удалении из документа в позиции, за которую отвечает это представление. |
void |
setParent(View parent) Установка родителя представления. |
Методы, унаследованные от класса 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 Методы, унаследованные от класса 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)
setParent
public void setParent(View parent)
Устанавливает родителя представления. Переопределено для предоставления поведения суперкласса, а также вызова метода loadChildren если у этого представления ещё нет дочерних элементов. Дочерние элементы не должны загружаться в конструкторе, так как при установке родителя они могут попытаться найти родителя (например, чтобы получить размещающее Container). Если у этого представления есть дочерние элементы (представление перемещается из одного места в иерархии представлений в другое), метод loadChildren не будет вызван.
- Переопределяет:
-
setParentв классеCompositeView - Параметры:
-
parent- родитель представления,nullесли нет
© 1993, 2020, 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.