Spec-Zone.ru › OpenJDK 8

Класс 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.

Spec-Zone.ru

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