Spec-Zone.ru › OpenJDK 8

Класс ParagraphView

  • java.lang.Object
    • javax.swing.text.View
      • javax.swing.text.CompositeView
        • javax.swing.text.BoxView
          • javax.swing.text.FlowView
            • javax.swing.text.ParagraphView
Все реализованные интерфейсы:
SwingConstants, TabExpander
Прямые известные подклассы:
ParagraphView

public class ParagraphView
extends FlowView
implements TabExpander

Представление простого абзаца с переходом на новую строку, поддерживающего несколько шрифтов, цветов, компонентов, значков и т. д. По сути, это вертикальная коробка с отступом вокруг неё. Содержимое коробки — набор строк, которые являются специальными горизонтальными коробками. Это представление создаёт коллекцию представлений, представляющих дочерние элементы элемента абзаца. Каждый из этих представлений размещается в строке непосредственно, если он вписывается, в противном случае вызывается метод breakView для попытки разбить представление на части, которые впишутся.

См. также:
View

Вложенные классы

Вложенные классы/интерфейсы, унаследованные от класса javax.swing.text.FlowView

FlowView.FlowStrategy

Поля

Модификатор и тип Поле и описание
protected int firstLineIndent

Отступ для первой строки слева.

Поля, унаследованные от класса javax.swing.text.FlowView

layoutPool, layoutSpan, 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

Конструкторы

Конструктор и описание
ParagraphView(Element elem)

Конструирует ParagraphView для данного элемента.

Методы

Модификатор и тип Метод и описание
View breakView(int axis, float len, Shape a)

Разбивает это представление на заданной оси по заданной длине.

protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)

Вычисляет потребности абзаца по малой оси.

void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)

Получает уведомление от документа о том, что атрибуты были изменены в позиции, за которую это представление отвечает.

protected View createRow()

Создаёт View, который должен использоваться для хранения строки дочерних элементов в потоке.

protected int findOffsetToCharactersInString(char[] string, int start)

Находит следующую букву в документе с буквой в string, начиная с смещения start.

protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)

Определяет, в каком направлении расположено следующее представление.

float getAlignment(int axis)

Определяет желаемое выравнивание для этого представления по оси.

int getBreakWeight(int axis, float len)

Получает вес разрыва для данной позиции.

protected int getClosestPositionTo(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet, int rowIndex, int x)

Возвращает ближайшую позицию модели к x.

int getFlowSpan(int index)

Получает ограниченный диапазон для потока для данного индекса дочернего элемента.

int getFlowStart(int index)

Получает позицию на оси потока, в которой будет начинаться диапазон потока.

protected View getLayoutView(int index)

Возвращает представление по заданному index.

protected int getLayoutViewCount()

Возвращает количество представлений, за которые это представление отвечает.

protected int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)

Возвращает следующую визуальную позицию курсора в направлении восток или запад.

protected float getPartialSize(int startOffset, int endOffset)

Возвращает размер, используемый представлениями между startOffset и endOffset.

protected float getTabBase()

Возвращает, откуда вычисляются табуляции.

protected TabSet getTabSet()

Получает Tabset для расчёта табуляций.

float nextTabStop(float x, int tabOffset)

Возвращает следующую позицию табуляции относительно опорной позиции.

void paint(Graphics g, Shape a)

Отображает с использованием заданной поверхности и области на этой поверхности.

protected void setFirstLineIndent(float fi)

Устанавливает отступ первой строки.

protected void setJustification(int j)

Устанавливает тип выравнивания.

protected void setLineSpacing(float ls)

Устанавливает интерлиньяж.

protected void setPropertiesFromAttributes()

Устанавливает кэшированные свойства из атрибутов.

Методы, унаследованные от класса javax.swing.text.FlowView

getFlowAxis, getViewIndexAtPosition, insertUpdate, layout, loadChildren, removeUpdate, setParent

Методы, унаследованные от класса javax.swing.text.BoxView

baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, forwardUpdate, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel

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

getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, 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

Поля

firstLineIndent

protected int firstLineIndent

Отступ первой строки слева.

Конструкторы

ParagraphView

public ParagraphView(Element elem)

Конструирует ParagraphView для заданного элемента.

Параметры:
elem - элемент, за который отвечает этот вид

Методы

setJustification

protected void setJustification(int j)

Устанавливает тип выравнивания.

Параметры:
j - одно из следующих значений:
  • StyleConstants.ALIGN_LEFT
  • StyleConstants.ALIGN_CENTER
  • StyleConstants.ALIGN_RIGHT

setLineSpacing

protected void setLineSpacing(float ls)

Устанавливает интерлиньяж.

Параметры:
ls - значение, являющееся множителем высоты строки

setFirstLineIndent

protected void setFirstLineIndent(float fi)

Устанавливает отступ первой строки.

Параметры:
fi - значение в пунктах

setPropertiesFromAttributes

protected void setPropertiesFromAttributes()

Устанавливает кэшированные свойства из атрибутов.

getLayoutViewCount

protected int getLayoutViewCount()

Возвращает количество представлений, за которые отвечает этот вид. Дочерние представления абзаца — это строки, которые использовались для упорядочивания фрагментов View , представляющих дочерние элементы. Это количество представлений, которые были уложены в два измерения, и должно быть равно количеству дочерних элементов элемента, за который отвечает этот вид.

Возвращает:
количество представлений, за которые отвечает этот ParagraphView

getLayoutView

protected View getLayoutView(int index)

Возвращает представление по заданному index. Дочерние представления абзаца — это строки, которые использовались для упорядочивания фрагментов Views , представляющих дочерние элементы. Этот метод возвращает представление, отвечающее за дочерний элемент с индексом (до разрыва). Это представления, которые были созданы из фабрики (для представления дочерних элементов) и использовались для компоновки.

Параметры:
index - индекс желаемого представления
Возвращает:
представление по index

getNextNorthSouthVisualPositionFrom

protected int getNextNorthSouthVisualPositionFrom(int pos,
                                                  Position.Bias b,
                                                  Shape a,
                                                  int direction,
                                                  Position.Bias[] biasRet)
                                           throws BadLocationException

Возвращает следующую визуальную позицию курсора в направлении восток или запад. Переопределено из CompositeView.

Переопределяет:
getNextNorthSouthVisualPositionFrom в классе CompositeView
Параметры:
pos - позиция в модели
b - либо Position.Bias.Forward, либо Position.Bias.Backward
a - выделенная область для рендеринга
direction - либо SwingConstants.NORTH, либо SwingConstants.SOUTH
biasRet - массив, содержащий проверенные смещения
Возвращает:
позиция в модели, представляющая следующую визуальную позицию
Исключения:
BadLocationException
См. также:
CompositeView.getNextVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.Position.Bias[])

getClosestPositionTo

protected int getClosestPositionTo(int pos,
                                   Position.Bias b,
                                   Shape a,
                                   int direction,
                                   Position.Bias[] biasRet,
                                   int rowIndex,
                                   int x)
                            throws BadLocationException

Возвращает ближайшую позицию модели к x. rowIndex указывает индекс представления, который следует проверить.

Параметры:
pos - позиция в модели
a - выделенная область для рендеринга
direction - одно из следующих значений:
  • SwingConstants.NORTH
  • SwingConstants.SOUTH
biasRet - массив, содержащий проверенные смещения
rowIndex - индекс представления
x - координата x
Возвращает:
наиболее близкую позицию модели к x
Исключения:
BadLocationException

flipEastAndWestAtEnds

protected boolean flipEastAndWestAtEnds(int position,
                                        Position.Bias bias)

Определяет направление расположения следующего представления. Рассмотрим View с индексом n. Обычно View располагаются слева направо, так что View на восток будет иметь индекс n + 1, а View на запад — индекс n - 1. В некоторых ситуациях, например, с двунаправленным текстом, возможно, что View на восток не находится по индексу n + 1, а по индексу n - 1, или что View на запад не по индексу n - 1, а по индексу n + 1. В этом случае этот метод вернет true, указывая, что View располагаются в обратном порядке.

Этот метод вернет true, если текст выровнен справа налево, в противном случае false.

Переопределяет:
flipEastAndWestAtEnds в классе BoxView
Параметры:
position - позиция в модели
bias - либо Position.Bias.Forward, либо Position.Bias.Backward
Возвращает:
true, если текст выровнен справа налево, в противном случае false.

getFlowSpan

public int getFlowSpan(int index)

Получает ограничительную область для потока для заданного индекса дочернего элемента.

Переопределяет:
getFlowSpan в классе FlowView
Параметры:
index - индекс представления, которое запрашивается
Возвращает:
ограничительная область для данного представления по index
См. также:
FlowView.getFlowStart(int)

getFlowStart

public int getFlowStart(int index)

Получает положение вдоль оси потока, в котором начнется область потока.

Переопределяет:
getFlowStart в классе FlowView
Параметры:
index - индекс представления, которое запрашивается
Возвращает:
местоположение для данного представления по index
См. также:
FlowView.getFlowSpan(int)

createRow

protected View createRow()

Создает View , который должен использоваться для хранения строки дочерних элементов в потоке.

Задано:
createRow в классе FlowView
Возвращает:
новое View

nextTabStop

public float nextTabStop(float x,
                         int tabOffset)

Возвращает следующее положение отступа, заданное ссылочной позицией. Этот вид реализует систему координат табуляции и вызывает getTabbedSpan у логических дочерних элементов в процессе компоновки, чтобы определить желаемую область дочерних элементов. Логические дочерние элементы могут делегировать свои потребности в расширении табуляции абзацу, который знает, как расширять табуляции. LabelView — это пример вида, который делегирует свои потребности в расширении табуляции абзацу.

Эта реализация пытается найти TabSet в наборе атрибутов элемента абзаца. Если такой найдется, его настройки будут использованы, в противном случае будет предоставлено значение по умолчанию. Базовым местоположением для расширения табуляции является левый отступ последнего распределения абзацев (на котором основана компоновка дочерних элементов).

Задано:
nextTabStop в интерфейсе TabExpander
Параметры:
x - позиция X ссылки
tabOffset - позиция в потоке текста, где произошла табуляция >= 0
Возвращает:
задний конец расширения табуляции >= 0
См. также:
TabSet, TabStop, LabelView

getTabSet

protected TabSet getTabSet()

Получает Tabset для расчета отступов.

Возвращает:
TabSet

getPartialSize

protected float getPartialSize(int startOffset,
                               int endOffset)

Возвращает размер, используемый представлениями между startOffset и endOffset . Для расчета размера используется getPartialView, если дочернее представление реализует интерфейс TabableView. Если размер необходим, а View не реализует интерфейс TabableView, будет использован preferredSpan.

Параметры:
startOffset - начальный смещение документа >= 0
endOffset - конечное смещение документа >= startOffset
Возвращает:
размер >= 0

findOffsetToCharactersInString

protected int findOffsetToCharactersInString(char[] string,
                                             int start)

Находит следующий символ в документе со символом в string, начиная со смещения start. Если символы не найдены, возвращается -1.

Параметры:
string - строка символов
start - где начать в модели >= 0
Возвращает:
смещение документа, или -1, если символы не найдены

getTabBase

protected float getTabBase()

Возвращает, откуда рассчитываются отступы.

Возвращает:
откуда рассчитываются отступы

paint

public void paint(Graphics g,
                  Shape a)

Отрисовывает, используя заданную поверхность рендеринга и область на этой поверхности. Реализовано для делегирования суперклассу после хранения базовой координаты для расчета отступов.

Переопределяет:
paint в классе BoxView
Параметры:
g - поверхность рендеринга для использования
a - выделенная область для рендеринга
См. также:
View.paint(java.awt.Graphics, java.awt.Shape)

getAlignment

public float getAlignment(int axis)

Определяет желаемое выравнивание для этого вида по оси. Реализовано для задания выравнивания по центру первой строки по оси y и по умолчанию по оси x.

Переопределяет:
getAlignment в классе BoxView
Параметры:
axis - может быть либо View.X_AXIS или View.Y_AXIS
Возвращает:
желаемое выравнивание. Это должно быть значение от 0,0 до 1,0 включительно, где 0 указывает выравнивание по началу, а 1,0 — выравнивание по всей области, удаленной от начала. Выравнивание 0,5 соответствует центру представления.

breakView

public View breakView(int axis,
                      float len,
                      Shape a)

Разбивает это представление по заданной оси по заданной длине.

ParagraphView экземпляры разделяются только вдоль Y_AXIS, и только если len находится после первой строки.

Параметры:
axis - может быть либо View.X_AXIS или View.Y_AXIS
len - указывает, где требуется потенциальный разрыв вдоль заданной оси >= 0
a - текущее распределение представления
Возвращает:
фрагмент представления, представляющий заданный отрезок, если представление можно разбить; если представление не поддерживает поведение разделения, возвращается само представление
См. также:
View.breakView(int, int, float, float)

getBreakWeight

public int getBreakWeight(int axis,
                          float len)

Получает вес разрыва для заданного местоположения.

ParagraphView экземпляры разделяются только вдоль Y_AXIS, и только если len находится после первой строки. Если длина меньше одной строки, возвращается значение BadBreakWeight.

Параметры:
axis - может быть либо View.X_AXIS или View.Y_AXIS
len - указывает, где требуется потенциальный разрыв >= 0
Возвращает:
значение, указывающее привлекательность разрыва здесь; либо GoodBreakWeight, либо BadBreakWeight
См. также:
View.getBreakWeight(int, float, float)

calculateMinorAxisRequirements

protected SizeRequirements calculateMinorAxisRequirements(int axis,
                                                          SizeRequirements r)

Вычисляет потребности абзаца по оси меньшей длины.

Использует требования к размеру суперкласса, измененные с учетом областей, не подлежащих разделению, на краях смежных представлений. Минимальные требования к размеру таких представлений должны быть не меньше суммы всех смежных фрагментов.

Если параметр axis не равен ни View.X_AXIS, ни View.Y_AXIS, выбрасывается IllegalArgumentException. Если параметр r равен null,, создается новый объект SizeRequirements, в противном случае возвращается предоставленный объект SizeRequirements.

Переопределяет:
calculateMinorAxisRequirements в классе FlowView
Параметры:
axis - ось меньшей длины
r - входной объект SizeRequirements
Возвращает:
новый или измененный объект SizeRequirements
Использует:
IllegalArgumentException - если параметр axis некорректен
См. также:
SizeRequirements

changedUpdate

public void changedUpdate(DocumentEvent changes,
                          Shape a,
                          ViewFactory f)

Предоставляет уведомление от документа о том, что атрибуты были изменены в месте, за которое это представление отвечает.

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

© 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